原码、补码、反码学习笔记
一. 无符号数
- 寄存器的位数n反应无符号数的表示范围0~2n-1
- 无符号数可以存储单元的地址
二. 有符号数
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】补
四.反码(反码创造出来是为了实现减法)
- 0001+0010=0011 (1+2=3)OK
- 0000+1000=1000 (+0+(-0)=-0)
- 0001+1001=1010 (1+(-1)=-2)原码减法出现错误结果
负数:原码符号位不变,其余位数取反(注意是负数)
1+(-1)的反码运算
0001+1110=1111----转成原码—>1000=0
但是反码不能解决负数相加的问题
1110(-1)+1101(-2)=1011(-4)
于是出现补码
为什么要有反码,和补码?
为什么反码和补码只是对负数来说?
反码,补码的由来
五.移码
定义:
移码和补码的比较
真值,补码,移码的比较