当前位置:首页 > 二、八、十、十六进制转换详讲 - 图文
按照我的理解给大家说一下,讲得不好的地方请大家指教!(觉得字太小看不清楚的,按ctrl+A然后调整成大字号。)
二进制数:用0和1表示 八进制数:用0~7表示 十进制数:用0~9表示
十六进制数:用0~F(即0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F)表示 其中A代表10,B代表11,以此类推到F代表15
常见的不同进制数的表示方法 进制 二进制 八进制 十进制 十六进制
① (100111.101)2 (12345.067)8 (13579.02468)10 (159AC.0BF)16 12345.067Q 13579.02468D 159AC.0BFH ② 100111.101B 1、所有进制化成十进制都是按权展开,什么是权?举几个例子就明白了
7654
①、二进制转化成十进制:N2=(10001110.11)2=10001110.11B=1×2+0×2+0×2+0×2+13210-1-2
×2+1×2+1×2+0×2+1×2+1×2=(571.75)10
10-1-2
②、八进制转化成十进制:N8=(35.54)8=35.54Q=3×8+5×8+5×8+4×8=(29.6875)10
210-1
③、十六进制转化成十进制:N16=(5A2.F1)16=5A2.F1H=5×16+10×16+2×16+15×16+1
-2
×16=(1442.941)10
能看出来规律吧,几进制数,个位上的数就乘几的0次方,十位数乘1次方,以此类推。十分位上的乘-1次方,百分位上乘-2次方,以此类推。
2、十进制转化成其他进制
十进制转化成二进制:整数部分为将给定数据N的整数部分连续除以2取余,直至商为0. 小数部分为将给定数据N的小数部分连续乘以2取整,直至满足精度
需求(意思是比如人家让你保留两位小数,那你就乘两次就好了)
例:将十进制数87.65表示成二进制数,要求是8位整数和4位小数。 解: 整数部分: 小数部分:
整数部分从下往上写,小数部分从上往下写,所以结果就是:87.65D=01010111.1010B。(整
数部分位数不够在前面用0补齐)
②十进制转十六进制:整数部分为将给定数据N的整数部分连续除以16取余,直至商为0. 小数部分为将给定数据N的小数部分连续乘以16取整,直至满足精
度
例:将十进制数3587.658转化成十六进制数,要求4位整数和两位小数。 解:整数部分: 小数部分:
所以结果就是:3587.658D=0E03.A8H
③ 十进制转十六进制:整数部分为将给定数据N的整数部分连续除以8取余,直至商为0. 小数部分为将给定数据N的小数部分连续乘以8取整,直至满足精度
跟上面同样的道理,在此就不赘述了。
3、二进制转化成八进制。 二进制和八进制的对照表:
二进制 八进制 可以看出:每三位二进制数对应一位八进制数。所以,
000 0 以小数点为界,整数位将二进制数从右向左每3位一隔001 1 开,不足3位的在左边用0填补即可;小数位则将二进010 2 制数从左向右每3位一隔开,不足3位的在右边用0填011 3 补即可。 100 4 例:(10010.10101)2=(010 010. 101 010)2=(2 101 5 110 111 6 7 2. 5 2)8
八进制数转化二进制数则反过来:一位换成三位。
例:(751. 1 6)8=(111 101 001. 001 110)2=(111101001.00111)2,这时数字小数最后面或者整数最前面的0就可以省略了,因为这对数字没有意义。 4、二进制转化成十六进制。 二进制和十六进制的对照表:
可以看出:每四位二进制数对应一位十六进制数。所 以就跟二进制转化成八进制很类似了。每四位隔开 例:(10010.10101)2=(0001 0010. 1010 1000)2=(1 2. A 8)16=(12.A8) 16
十六进制转二进制那就是一位换四位了。
例:(A7.D4)16=(A 7. D 4)16=(1010 0111 1101 0100)2=(10100111.110101)2
5、八进制和十六进制直接转化比较困难,建议先转化成二进制再相互转化。
共分享92篇相关文档