试题
- 1000 0111
- 1111 1000
- 1111 1001
- 0111 1001
- 1000 0011
- 1111 1100
- 1111 1101
- 0111 1101
- 1000 0010
- 1111 1101
- 1111 1110
- 0111 1110
- 0000 0111
- 0000 0111
- 0000 0111
- 1000 0111
- 0000 0011
- 0000 0011
- 0000 0011
- 1000 0011
- 0000 0001
- 0000 0001
- 0000 0001
- 1000 0001
- -1111101
- -1111111
- +1111
预习
二、预习笔记
定点数的编码表示:原码、补码、反码、移码
1、原码
- 定点整数的符号位与数值位用逗号隔开,小数用小数点隔开
- 一个数的原码表示由符号位直接后跟数值位构成
- 0的原码:[+0]原=000……0 ; [-0]原=100……0
2、补码
- 补码由符号位后跟真值的模2^n补码构成
- 0的补码:[+0]补=[-0]补
- 正数的补码是它本身;负数的补码:符号位为 1,对真值部分“各位取反,末位加 1”
- 计算机中大多用补码表示带符号整数的原因:
- 可以将符号位和其他位统一处理
- 减法也可以直接按加法来处理
3、反码
-
正数的原码、补码、反码都是它本身
-
负数的反码:在原码的基础上,符号位不变,真值部分按位取反;或者在相应的补码表示中再末位减1
反码很少被使用:
- 0的反码表示不唯一
- 表数范围比补码少一个最小负数
- 运算时必须考虑循环进位
4、移码
- 移码只用来表示定点整数
- 若将移码第一位看成符号位,则同一个真值的移码和补码仅符号位不同
- 0的移码:[+0]移=[-0]移=10……0
5、作业感想
- 补码和反码的转换要求有时候会混淆