原码、反码、补码及754标准

二进制数的原码、反码、补码、移码

上一篇博客介绍了二进制与八进制及十六进制之间的转换。这篇博客我来介绍一下一些正数负数小数的二进制的原码反码补码以及移码是怎么转换的。

首先正数

1.在这里我就不多说了,正数的原码,反码,补码都是二进制的正数,但是这里值得注意的一点:移码不一样,正数的移码是直接在其不加符号位的时候直接在前面加1
例: ( 100100 ) 2 — 移 码 — ( 1100100 ) 2 (100100)_2—移码—(1100100)_2 100100211001002

负整数

例: y = ( − 122 ) 10 = ( ? ) 2 y=(-122)_{10}=(?)_2 y=122)10=?2
首先我们利用上一篇博客的方法,把十进转换成二进制的原码。无
上面就是负数-122的二进制码的变化,原码反码,补码通常是一步步来的,都是在上一步的基础上求的,当然,如果你的算术技术,或者能力比较好的话,你就可以一步直接写出来。

小数

这里的小数是指负小数,因为正小数这四种都是一样的。
下面我们以 y = ( − 0.1101 ) 2 为 例 y=(-0.1101)_2为例 y=(0.1101)2
无

下面讲IEEE754标准求32位浮点数X

IEEE二进制浮点数算术标准(IEEE
754)是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用。这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormal
number)),一些特殊数值(无穷(Inf)与非数值(NaN)),以及这些数值的“浮点数运算符”;它也指明了四种数值舍入规则和五种例外状况(包括例外发生的时机与处理方式)。 百度百科

下面就是32位浮点数的结构
无
x = ( − 1 ) s ∗ ( 1. M ) ∗ 2 E − 127 x=(-1)^s * (1.M) * 2^{E-127} x=(1)s(1.M)2E127
E-12=e;
在这里,s表示符号位,E是阶码,1.M表示尾数域的值。
下面我们来演示一个例子,来表达是怎么解决的。
例:求 0 10000010 01101100000000000000000 的32位的浮点数 X.
无
下面讲别的题型,反过来的
例:求20.59375十进制数的32位浮点数X
解: ( 20.59375 ) 10 = ( 10100.10011 ) 2 = ( 1.010010011 ) ∗ 2 4 (20.59375)_{10}=(10100.10011)_2=(1.010010011)*2^4 (20.59375)10=(10100.10011)2=(1.010010011)24
则,e=4,由E-127=e得, E = ( 131 ) 10 = ( 010000011 ) 2 E=(131)_{10}=(010000011)_2 E=(131)10=(010000011)2
可以得到
x = ( 0 10000011 01001001100000000000000 ) 2 = ( 41 A 4 C 000 ) 16 x=(0\quad 10000011\quad01001001100000000000000)_2=(41A4C000)_{16} x=(01000001101001001100000000000000)2=(41A4C000)16

相信通过上面的几个例子,你已经学会了怎么计算这个754标准的32位浮点数了。祝你好运。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值