原码、补码、反码学习笔记

一. 无符号数

  1. 寄存器的位数n反应无符号数的表示范围0~2n-1
  2. 无符号数可以存储单元的地址

二. 有符号数
4. 机器数:原码、反码、补码
5. 原码
正数: 0[真值]
负数: 1[真值]
6. 原码表示法
原码、补码、反码学习笔记

x=+0111 [x]原=0,0111
x=-0111 [x]原=2n–(-0111)=1,0111

4.小数的原码
原码、补码、反码学习笔记

x=+0.111 [x]原=0,111
x=-0.111 [x]原=1 –(-0.111)=1,111
三.补码(补码是为了解决有符号位 异号相加 得出结果错误的问题)
原码、补码、反码学习笔记

补码的定义
原码、补码、反码学习笔记

在负数中,数值位 【原码】+【反码】=【模】-1=2n+1-1(n为数值位数)
负数中,补码的定义:【补码】=【模】-【原码】=【反码】+1

求补运算
由【X】补--------》求出【-X】补
原码、补码、反码学习笔记

四.反码(反码创造出来是为了实现减法)

  1. 0001+0010=0011 (1+2=3)OK
  2. 0000+1000=1000 (+0+(-0)=-0)
  3. 0001+1001=1010 (1+(-1)=-2)原码减法出现错误结果
    负数:原码符号位不变,其余位数取反(注意是负数)
    1+(-1)的反码运算
    0001+1110=1111----转成原码—>1000=0

但是反码不能解决负数相加的问题
1110(-1)+1101(-2)=1011(-4)
于是出现补码

为什么要有反码,和补码?
为什么反码和补码只是对负数来说?
反码,补码的由来

五.移码
定义:
原码、补码、反码学习笔记

移码和补码的比较
原码、补码、反码学习笔记
真值,补码,移码的比较
原码、补码、反码学习笔记