求解:如何将(151.565)10 转换成二进制数
发布网友
发布时间:2023-07-16 16:06
我来回答
共2个回答
热心网友
时间:2024-12-13 04:39
整数部分151,写出二进制每位基数,从个位的1开始向左逐位写,每位都是右边位乘以2,写到比151大为止:
256 128 64 32 16 8 4 2 1,然后用这组数将151"凑"出来,从高位向低位凑
0 1 0 0 1 0 1 1 1
151中应当不足256,所以256这位下面写0,有1个128,128下面写1,151-128=23,64和32都是0,有1个16还剩7,0个8,1个4,1个2,1个1
则二进制数为10010111
小数部分假设最长转换4位
0.565*2=1.13,取整数部分为二进制小数第1位10010111.1
用上步结果的小数部分继续计算0.13*2=0.26[10010111.10]
0.26*2=0.52[10010111.100],0.52*2=1.04[10010111.1001]
计算直到达到要求位数或者小数部分等于0时停止
(151.565)10=(10010111.1001)2
如果将上面所有乘以2的步骤都乘以n,那么可以转换成n进制了
热心网友
时间:2024-12-13 04:40
(151.565)10
=(10010111.1001000010100011)2
=(227.4412172702436560)8
=(97.90A3D70A3D70A4)16
=(151.5650000000000000)10
对整数(或商)部分循环除2取余(注:逆向取余数拼接二进制的整数部分)。
对小数部分循环乘2取(去)整(注:正向取整进行二进制小数部分的拼接)。