原码:取绝对值,符号位为0表示正,符号位为1表示负。
原码转反码: 正数不变, 负数除符号位全部取反。
举例:
原码:0000 0001 反码:0000 0001
原码:1000 0001 反码:1111 1110
原码转补码: 正数不变, 负数除符号位外全部取反+1。
举例:
原码:0000 0001 补码:0000 0001
原码:1000 0001 补码:1111 1111
移码:等于补码的符号(第一位数字)位取反。
举例:
原码:0000 0001 补码:0000 0001 移码:1000 0001
原码:1000 0001 补码:1111 1111 移码:0111 1111
总结:
正数的原码,补码,反码相同;
负数的反码:原码除符号位取反;
负数的补码:原码除符号位取反+1
负数的移码:补码符号位取反
== 已知补码求原码:==
若为正数,不变
若为负数,除符号位取反+1
取值范围
举例:
八位数。
原码范围:-129-127
反码范围:-129-127
补码范围:-128-127
日拱一卒,功不唐捐。
如果本文对你产生了些许帮助,不如点个赞在走叭~