将二进制数转换为16进制数

来源:百度知道 编辑:UC知道 时间:2024/05/19 04:02:12
由于一位16进制数可以用四位二进制数表示,所以将二进制数转换为16进制数只需以小数点为起点,向两端每4位二进制为一组,不足4位时补0,再用1位16进制数表示这4位即可,我想问的是,我怎么知道这4位二进制数,是哪个16进制数啊!!就是这里我还不会转换.就好比二进制数0110用十六进制表示是6,这是怎么来的啊!还有将十进制数转换为二进制,小数怎么转换啊,就好比132.75怎么转换啊,我先把132转换,再转换0.75,这个0.75改怎么转换?????谢谢!

你好!
如果你用C语言:
首先要说明的是:16进制数是个很广的概念。他既可以表示整数,也可以表示小数。在计算机或单片机要表示整数有字符型(char),整型(int),还有长整型(long int),表示小数一般用浮点数(float)或者双精度型(double)。

你所说的“16进制数”应该是字符型的,比如十六进制的30H=二进制的“0011 0000B”=‘0’(ASCII码)。这种类型的十六进制数一般不用来表述小数。

计算:132.75+3.66=?
floar a = 132.75;
float b = 3.66;
float c;
c = a+b; //变量c里边就是计算结果:136.41

如果你用汇编语言:
表示小数只能是定点小数,比如我用2字节来表示132.75,在程序里我就用13275来表示132.75,(自己心里明白那个小数点就在2和7之间),这个数被放大了100倍。
计算:132.75+3.66=?
13275+366 = 13641(小数点还在那个位置)13641表示的就是136.41

欢迎访问我的空间:http://hi.baidu.com/mcu_spaces
Email:86795544@163.com
QQ: 346324948

0110=0X2的3次方+1X2的2次方+1X2的1次方+0X2的0次芳=6
十进制数转换为二进制一小数点为分界线左右互推