输入一个 8 位有符号整数(取值范围 - 128~127),请按以下规则计算并输出其 8 位二进制形式的原码、反码、补码:
输出要求:均为 8 位二进制字符串,符号位在前,数值位在后,不足 8 位补 0;
原码规则:
正数:符号位为 0,数值位为绝对值的 7 位二进制;
负数:符号位为 1,数值位为绝对值的 7 位二进制;
特殊值 - 128:原码约定为10000000;
反码规则:
正数:反码与原码完全相同;
负数:符号位不变,数值位按位取反(0 变 1、1 变 0);
特殊值 - 128:反码约定为11111111;
补码规则:
正数:补码与反码完全相同;
负数:补码为反码加 1(需处理进位传递);
特殊值 - 128:补码为10000000。
输入一行,仅包含一个整数,范围为 -128 ≤ n ≤ 127。
输出三行字符串,依次为: 第一行:8 位原码 第二行:8 位反码 第三行:8 位补码
-5
10000101 11111010 11111011
0
00000000 00000000 00000000
127
01111111 01111111 01111111