进制的运算

1. 机器数与真值
  • 输入数据后,以二进制的形式储存在计算机
  • 二进制的表示形式为机器数
  • 带有符号的对应数据称为机器数的真值
  • 机器数的特点
    • 符号的数值化:规定以最高位为符号位,用0来表示正数,1表示负数
    • 计算机中只表示整数或纯小数
    • 机器数所表示的数值范围有限
2. 二进制原码、反码、补码
  • 二进制中正数的原码、反码、补码表示形式相同
  • 原码
    • 原码实际上是数值化的符号位加上真值的绝对值
    • 正零:[+0] =0000 0000 ,负零[-0] = 1000 0000
    • 数值范围
最小编码[-0][+0]最大编码
1111 11111000 00000000 00000111 1111
-127-0+0127
  • 反码
    • 负数的反码对其原码除符号位以外逐位取反得到
    • 正零 [+0] =0000 0000 ,负零[-0] = 1111 11111
    • 反码的反码即为原码
    • 反码仅作为补码的过度
最小编码[-0][+0]最大编码
1000 00001111 111110000 00000111 1111
-127-0+0127
  • 补码
    • 补码是计算机处理有符号数运算的常用的方法
    • 负数的反码位原码取反末位加1
    • 补码没有正负零之分,[±0] = 0000 0000 。八位二进制补码1000 0000表示 -128
    • 一个数的补码的补码就是原码本身
最小编码-6[0]最大编码
1000 000011110100000 00000111 1111
-128-60127
3. 定点数与浮点数

二进制的运算中有整数还有小数

    1.定点数
  • 定点整数:约定机器数的小数点在机器数的最右端,称定点小数
  • 顶点小数:约定计算数的小数点在符号位之后,有效值部分的最高位之前,我们称为纯小数
    2. 浮点数

IEEE标准,浮点数是通过科学计数法来存储,将一个二进制数N移动小数点到左边第一个非零数之后得到纯小数M,所移动的位数用2的e次方幂表示,2的e次方*2的P次方,其中p代表不同精度的偏移量
得浮点数 N=1.M * 2 e + P 2^{e+P} 2e+P

  • 以十进制数187.125为例
    将十进制数转换为二进制数 187.125(D)=1011 1011 . 001(B)
    将小数点移动左边第一个非零数之后得: 1.0111 0110 01 * 2 7 2 ^{ 7} 27 其中7代表小数点向左移动了七位
    加上单精度的固定偏移量127
    得浮点数 1.0111 0110 01 * 2 134 2 ^{ 134} 2134
  • 187.125在计算机中的存储形式为
符号位阶码尾数
01000 01100111 0110 0100 0000 0000 000
  • 32位单精度与64位双精度的比较
精度符号位阶码尾数偏移量有效数字位
3218231277~8
6411152102315~16
4. 二进制的运算
  1. 定点数的加减法运算
  • 使用补码进行加减运算,将符号位也已一起参加加减运算,运算时最高位的进位省略
  • 运算公式X+Y = [ [X]补 + [Y] 补 ] 补
          在这里插入图片描述
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值