原码补码预习

试题

  1. 1000 0111
  2. 1111 1000
  3. 1111 1001
  4. 0111 1001
  5. 1000 0011
  6. 1111 1100
  7. 1111 1101
  8. 0111 1101
  9. 1000 0010
  10. 1111 1101
  11. 1111 1110
  12. 0111 1110
  13. 0000 0111
  14. 0000 0111
  15. 0000 0111
  16. 1000 0111
  17. 0000 0011
  18. 0000 0011
  19. 0000 0011
  20. 1000 0011
  21. 0000 0001
  22. 0000 0001
  23. 0000 0001
  24. 1000 0001
  25. -1111101
  26. -1111111
  27. +1111

预习

二、预习笔记

定点数的编码表示:原码、补码、反码、移码

1、原码

  • 定点整数的符号位与数值位用逗号隔开,小数用小数点隔开
  • 一个数的原码表示由符号位直接后跟数值位构成
  • 0的原码:[+0]原=000……0 ; [-0]原=100……0

2、补码

  • 补码由符号位后跟真值的模2^n补码构成
  • 0的补码:[+0]补=[-0]补
  • 正数的补码是它本身;负数的补码:符号位为 1,对真值部分“各位取反,末位加 1”
  • 计算机中大多用补码表示带符号整数的原因:
    1. 可以将符号位和其他位统一处理
    2. 减法也可以直接按加法来处理

3、反码

  • 正数的原码、补码、反码都是它本身

  • 负数的反码:在原码的基础上,符号位不变,真值部分按位取反;或者在相应的补码表示中再末位减1

    反码很少被使用:

    1. 0的反码表示不唯一
    2. 表数范围比补码少一个最小负数
    3. 运算时必须考虑循环进位

4、移码

  • 移码只用来表示定点整数
  • 若将移码第一位看成符号位,则同一个真值的移码和补码仅符号位不同
  • 0的移码:[+0]移=[-0]移=10……0

5、作业感想

  • 补码和反码的转换要求有时候会混淆
原文地址:https://www.cnblogs.com/just-like-this/p/13648185.html