计组 数据的表示形式

数据格式

定点数
XnXn-1...X0,其中Xn为符号位(0是正数,1是负数),Xn-1Xn-2...X0为数值。

  1. 当X = Xn-1...X0表示无符号纯小数时,大小为[0,1-2(-n)]
  2. 当X = Xn-1...X0表示无符号整数时,大小为[0,2n - 1]

浮点数
N = 2^e \times M,其中e为指数,M为尾数

32位浮点数

31(位) 30 - 23(位) 22 - 0(位)
S E M

其中1位的S表示符号位,8位的E表示阶码,23位的M表示尾数
E = e + 127 = e + 27 - 1

64位浮点数

63(位) 62 - 52(位) 51 - 0(位)
S E M

其中1位的S表示符号位,11位的E表示阶码,52位的M表示尾数
E = e + 1023 = e + 210 - 1

所以在IEEE754标准中,浮点数的表达式为
   x = (-1)S * 1.M * 2e

  • 例如:0 (S)1000 0010(E)011 0110 0000 000 0000 0000 (M)
    S = 0
    e = E - 127 = 1000 0010 - 127 = 3
    1.M = 1.011011
    x = (-1)0 * 1.011011*23 = 1011.011 = 11.375

数的机器码表示

原码补码转换
  • 正数:补码等于原码
  • 负数:去掉符号位进行扫描法

补码的作用:将加减法转换为补码的加法

  • 例如:
  1. x + y = [x] + [y] = [x+y]
    因此利用补码相加得到[x+y]补,再利用补码转换为原码得到x + y
  2. x - y = [x]补 + [-y]补 = [x-y]补
    同理利用补码原码相互转换得到 x - y
移码和补码

移码是符号相反的补码。
移码作用:用来表示阶码, [e]移 = E。

[e]移 = 2k + e
e为k+1位的真值,其中k+1位为符号位
举例:
e = -127, 原码1111 1111
e 为 8 位真值,所以 k = 7
[e]_移 = 2^7 + (-127) = 0000 0001

注:但是在IEEE中规定偏移常数值不是2^{32},而是 2^7 - 1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 飞雪渡尽江山老,红妆不负相思迟。 几处新桃争国色,一树寒梅展老枝。 自古英雄皆落寞,只留白纸半句诗。 待到三春天下...
    郑是某某阅读 196评论 0 2
  • 再次跟进了没下单的会员,但对方没回复,应该打个电话的!跟进确实还不够积极到位,需要加强!
    Mela仙仙阅读 186评论 0 0
  • 早上六点半醒来,习惯性的打开手机,微信刷新,晨读… 呃…感悟到现在才开始写。 中间这大段时间哪去了? 想写晨读感悟...
    筱筱宇下阅读 344评论 0 3
  • 8.14日 周二 阵雨 庆妈妈第350篇 昨天开车太累,今天天气也不好,在家休息一天!好好休息才能有好心情带孩子出...
    史响庆阅读 261评论 0 0

友情链接更多精彩内容