主页 M

小数进制转换

2014-06-10 网页编程网 网页编程网

二进制数与十进制数如何转换:
(1) 二进制数—→十进制数
对于较小的二进制数:
对于较大的二进制数:
方法1:各位上的数乘权求和??例如:
(101101)2=1×25+0×24+1×23+1×22+0×21+1×20=45
(1100.1101)2=1×23+1×22+0×21+0×20+1×2-1+1×2-2+0×2-3+1×2-4=12.8125

方法2:任何一个二进制数可转化成若干个100…0?的数相加的总和??例如:
(101101)2=(100000)2+(1000)2+(100)2+(1)2
而这种100…00形式的二进制数与十进制数有如下关联:1后有n个0,则这个二进数所对应的十进制数为2n。
所以:(101101)2=(100000)2+(1000)2+(100)2+(1)2=25+23+22+20=45

十进制45.8375转换为八进制 (转换为二进制类似)
整数部分除8取余数:
45/8=5--5
5/8=0---5
整数部分为55(注意倒过来)
小数部分乘8取整:
0.8375*8=6.7--6
0.7*8=5.6-----5
0.6*8=4.8-----4
0.8*8=6.4-----6
0.4*8=3.2-----3
0.2*8=1.6-----1
0.6*8=4.8-----4
小数部分是循环小数:0.65463146314631...........
合起来就是55.65463146314631...........
整数部分除以8取余数作为个位,再对商除以8取余数作为十位,...
小数部分乘以8取整数部分作为十分位,在将剩下的小数部分乘以8作为百分位,...
如 17.625
19 % 8 = 3
2 % 8 = 2
整数部分得23
0.625 * 8 = 5
小数部分为0.5
所以最终结果为23.5

阅读原文
阅读 5247
123 显示电脑版