作者fmdjyl (小D(滴))
看板ASM
标题[问题] 16进和10进转换程式(8051)
时间Wed Aug 25 23:38:32 2010
※ [本文转录自 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
1F:→ hilorrk:sscanf、sprintf 08/25 18:38
2F:→ tomnelson:sscanf("0x%02X", &h); -> sprintf(s, "%d", h); 08/25 18:47
3F:→ tomnelson:或者也可以自己算,取"0x"後面两位自己算. 08/25 18:47
※ 编辑: fmdjyl 来自: 219.85.43.81 (08/25 18:58)
4F:→ MOONRAKER:strtoul() 08/25 19:46
5F:→ tinlans:不管你外面输入进去的是几进制,电脑内部存的都是二进制。 08/25 20:12
6F:推 cooljony0109:好像都有现成的function可以呼叫 08/25 21:24
※ 编辑: fmdjyl 来自: 122.116.80.6 (08/25 23:26)
7F:→ fmdjyl:不好意思 忘记说是8051...用C语言 08/25 23:27
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.80.6