二进制带小数点的计算主要分为 二进制小数转十进制和 二进制十进制转二进制两类,具体方法如下:
一、二进制小数转十进制
整数部分:
按位权展开,从右至左依次乘以2的0次方、1次方、2次方等,求和。例如:`1011` → `1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 11`。
小数部分:
按位权展开,从左至右依次乘以2的-1次方、-2次方、-3次方等,求和。例如:`0.0111` → `0×2⁻¹ + 1×2⁻² + 1×2⁻³ + 1×2⁻⁴ = 0.000110011`。
合并结果:
整数部分与小数部分相加。例如:`1011.0111` → `11 + 0.000110011 = 11.000110011`。
二、二进制十进制转二进制
整数部分:
采用除2取余法,将商依次取余并逆序排列。例如:`11` → `11 ÷ 2 = 5...1` → `5 ÷ 2 = 2...1` → `2 ÷ 2 = 1...0` → `1 ÷ 2 = 0...1` → `11`(二进制)。
小数部分:
采用乘2取整法,将小数乘以2,取整数部分,重复至小数为0或达到精度。例如:`0.625` → `0.625×2=1.25`(取1)→ `0.25×2=0.5`(取0)→ `0.5×2=1.0`(取1)→ `0.0` → `0.101`(二进制)。
合并结果:
整数部分与小数部分拼接。例如:`11.625` → `1011.101`(二进制)。
三、注意事项
无限循环小数:二进制小数可能为无限循环(如十进制0.1=0.000110011...),实际应用中需截断或采用定点数表示。
计算机实现:浮点数采用二进制补码表示,需注意符号位、阶码和尾数的转换规则。
以上方法适用于基础转换,实际应用中可能涉及更复杂的数制规则(如定点数、浮点数等)。