【计算机组成原理】真值与机器值&小数原码与整数原码定义及举例

【计算机组成原理】真值与机器值&小数原码与整数原码定义及举例

前言:
    昨天受到了来自同事的冲击,希望有一天我也可以成为更加优秀的人,无论言谈举止、身心状态或是专业技能;现在要做的就是比昨天的自己更加更加强大。昨天看到pyq发的一段话很喜欢,分享给大家:

  • 你要工作就要认真,要学习就要认真,就算你做一个流氓也要认真,认真是我们参与这个社会的方式,认真是我们改变这个社会的方式。

1.1真值和机器值

  • 真值:生活中用到的带有+-符号的数,如+8-3等称为真值;真值是机器数代表的实际值
  • 机器数:把符号"数字化"的数称为机器数。常用的有原码补码反码表示法。将数据符号化后放入到首位,0表示+1表示-。如(以二进制八位原码为例):
    • +5 = 0,0000101 ; +32 = 0,0100000 (5 = 4+1 = 22 + 20 所以在第1,3位上1 ;32 = 25所以在第6为上1)
    • -8 = 1,0001000 ; -116 = 1,1110100 (这里的逗号实际上不存在,只是用来区分符号位数值位

那么问题就来了,什么是原码补码反码呢?

1.2原码

    比较简单直观的机器数表示法,一般用机器数的最高位表示该数的符号,其余的各位表示数的绝对值。一般用[x]原表示x这个真值原码机器数;原码的定义中有小数原码整数原码,我们先来看整数原码(因为比较简单):

  • 纯整数原码定义

    =
    =
    [x]原
    0,x
    2^n-x=2^n+| x |
    2^n>x≥0
    0≥x>-2^n

    其中x是真值,n是整数位数(字节);若字节长为n+1,则源码整数的表示范围为 -(2n-1)≤x≤2n-1 关于原点对称。看起来有点复杂,其实很简单!举例子(以二进制八位为例):

    • +5 = [0,0000101]原 ; +32 = [0,0100000]原 (5 = 4+1 = 22 + 20 所以在第1,3位上1 ;32 = 25所以在第6为上1)
    • -8 = [1,0001000]原 ; -116 = [1,1110100]原 (最高位是符号位;正经整数真值转原码的方法为除基取余法

  • 纯小数原码定义

    =
    =
    [x]原
    x
    1-x=1+| x |
    1>x≥0
    0≥x>-1

    若字节长为n+1,则源码整数的表示范围为 -(1-2-n)≤x≤1-2-n 关于原点对称。举例子:

    • 0.25 = [0.0100000]原(0.25 = 2-2 ;小数点位数权重从右到左为 0.5、0.25、0.125…这是快速求出小数真值对应原码的方法,正经方法还要是乘积取整法
    • -0.75 = [1.1100000]原(最高位的0,1仅代表纯小数的正负)

更新了后续知识点:

反码&补码&移码相关知识点 - 【计算机组成原理】反码&补码&移码的定义、相互转换及特征.


结束语:
    这次时间比较伧俗,新学习了mermaid流程图;下次更新进制间的转换反码补码移码的定义转换,如果有想知道原补码的加减乘除等知识的也可以给我留言。废话就到这里了,溜了溜了;空闲之余去卷一下技术orz。感谢阅读!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值