C語言 十進制轉十六進制

問題補充說明:想問一下這個程序中的自定義函數是怎么一個運行的過程 , 比如這里面令x=27.10轉16不是要把余數倒著排列么?這里是怎么實現的?謝謝~

C語言 十進制轉十六進制


【C語言 十進制轉十六進制】去百度文庫 , 查看完整內容>內容來自用戶:中國林709
十進制轉十六進制c語言函數今天有位朋友在群里來自面問如何接收串口調試助手發來的十六進制數據 , 并以十六進制的形式顯示在LCD上 。比如串口調試助手上發送十六進制數據3C , 單片機帶的LCD上也顯示3C 。單片機接收到來360問答自電腦串口的數據0x3C后班底驗統寫乙星月陳紅東 , 存儲到一個變量中 , 當我們調用顯示數字的函數時 , 實際上顯示出盾械來的是十進制的數據 , 例如發送0x3C , 會顯示十進制數據60 。看來要想顯示十六進制 , 還不是那么容易 。回十六進制中 , 包含0~9心幾振舊石胞責統濟那倒數字 , 還包含A~F字母 , 看來要想顯示 , 必須要用顯示字符的函數而不能用顯示數字的函數前季逐了 。但是不能直接調用顯停政方示字符的函數 。因為要想顯示3C , 實際上是要顯示2個字符 , 你如果直接把數據帶進去 , 實際上他會認為是一個字符的ASCII碼 。于是我們要把發過來的數據變換成兩個字符 , 用輕量藝下面的公式:shi=rece_data/16;//獲取第一位ge =rece_data%16;//獲取第二位然后把數字轉換成字符:
switch(shi)
{
case0:shi='0';break;
case1:shi='1';break;
case2:shi='2';break;
case3:shi='3';bre檢問ak;
case4:shi='4';break;
case5:shi='5';break;
case6:shi='6';break;
case7:shi='7';break;
case8:shi='8';break;
case斗歌角讓本雨零門均星9:shi='9';break;
case10:shi='A';break;
case11:shi='B';break;
case12:shi='C';break;
case13:shi='D';break;
case14:shi='E';break;
}case10:shi='A';break;

    猜你喜歡