新浪博客

无符号二进制与十进制转换

2017-12-16 10:58阅读:
1、无符号二进制整数到十进制数的转换
dec=(D(n-1)*2~(n-1))+(D(n-2)*2~(N-2))+...+(D1*2~(1))+(D0*2~(0))
注意:d(n-1) 表示 二进制在第n位的数据值,n-1 表示 2的n-1次方
如:0000 1001 值为9(十进制)
(1*2~3)+(1*2~0)=9 (~表示2的n次方)
2、无符号十进制整数到二进制数的转换
将数或得到商的整数,不断除以2,将所得到的余数 记录为二进制数,(得到的数据记录为:从右向左,即第一个余数在最右边,最后一个在最左边)
如:十进制整数 37 转化成二进制数:00100101
37/2 =18 + 1 1
18/2 = 9 + 0 01
9/2 = 4 + 1 101
4/2 = 2 + 0 0101
2/2 = 1 + 0 00101

1/2 = 0 + 1 100101
计算机以8的整数倍组织二进制 不够8位需要补齐 00 100101
3、整数的存储大小
字节(byte 8位) 0 - 2(~8 )-1
字(word 2字节) 0 - 2(~16 )-1
双字(doubleword 4字节) 0 - 2(~32 )-1
四字(quadword 8字节) 0 - 2(~64 )-1
八字(quadword 16字节) 0 - 2(~128 )-1
其它大字节:千字节,兆字节,吉字节。。。
4、十六进制整数
a、二进制 与十六进制等价关系
二进制4位 对应 十六进制 1位
0001 0110 1010 0111 1001 0100 1 6 A 7 9 4
b、无符号十六进制证书 转 十进制整数
dec=(D(n-1)*16~(n-1))+(D(n-2)*16~(N-2))+...+(D1*16~(1))+(D0*16~(0))
c、无符号十进制整数到十六进制数的转换
将数或得到商的整数,不断除以16,将所得到的余数 记录为十六进制数,(得到的数据记录为:从右向左,即第一个余数在最右边,最后一个在最左边)
如:十进制整数 422 转化成十六进制数:1A6
422/16 =26 + 6 6
26/16 = 1 + A A6
1/16 = 0 + 1 1A6

注:如果要将十进制整数转换成其它进制只需将其中 16 改成 需要的 进制 即可
d 26 or 26d 十进制;
q/o 42q or 420 八进制
b 11010011b 二进制
h 1Ah 十六进制

我的更多文章

下载客户端阅读体验更佳

APP专享