二进制与十进制之间的转换——基于位权


整数部分

以一个字节举例,有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

「注意」

在计算机的世界中,浮点数是不能精确表示出来的,会存在误差。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM