看板 ASM 關於我們 聯絡資訊
※ [本文轉錄自 C_and_CPP 看板 #1CTF8CRO ] 作者: fmdjyl (小D(滴)) 看板: C_and_CPP 標題: [問題] 16進和10進轉換程式(8051) 時間: Wed Aug 25 18:35:54 2010 0x01 = 1 0x09 = 9 0x0A = 10 0x0F = 15 0x15 = 21 0x20 = 32 ================================================== 請問我該如何把左邊的16進制變成右邊10進制的2位數呢?? 如0x20 我要變成兩個byte byte[1]=3 byte[0]=2 0x15 我要變成兩個byte byte[1]=2 byte[0]=1 不知道在C我該如何把接收到的16進換算兩個位數的10進制 懇請大家指教~先謝謝大家 ========================================================== 我把兩個10進位的數字換算成一個16進制 如下所示~但不知道什麼寫法換算回來比較好 Byte i; data=byte[1]; data(data<<4); data|=byte[0]; for(i=0x00;i<byte[1];i++) { data-=0x06; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.43.81
hilorrk:sscanf、sprintf 08/25 18:38
tomnelson:sscanf("0x%02X", &h); -> sprintf(s, "%d", h); 08/25 18:47
tomnelson:或者也可以自己算,取"0x"後面兩位自己算. 08/25 18:47
※ 編輯: fmdjyl 來自: 219.85.43.81 (08/25 18:58)
MOONRAKER:strtoul() 08/25 19:46
tinlans:不管你外面輸入進去的是幾進制,電腦內部存的都是二進制。 08/25 20:12
cooljony0109:好像都有現成的function可以呼叫 08/25 21:24
※ 編輯: fmdjyl 來自: 122.116.80.6 (08/25 23:26)
fmdjyl:不好意思 忘記說是8051...用C語言 08/25 23:27
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.80.6