二进制与十进制之间的转换——基于位权
整数部分
以一个字节举例,有8个bit,每个bit有0、1两种状态,理论上一共有2^8
种状态,可以表示0~255
现在需要将200转为二进制
200大于128,因此第八位是满足位权的,第八位为1
剩下的72(
200-128=72
)满足第7位的位权64,剩下8,第6、5的位权都不满足,都是0,第4位满足8,为1。
剩下0,余下的bit全是0。
转换后的二进制表示为:11001000
小数部分
先看位权
看一个例子
将0.5625转二进制
首先满足第一位权0.5,该位为1
剩下0.0625不满足第2、3位,都是0,第4位满足,为1
结果是0.1001
「注意」
在计算机的世界中,浮点数是不能精确表示出来的,会存在误差。