5359 - 数据编码

题目描述

输入一个 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
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 47
通过人数 26
金币数量 0 枚
难度 未标记


上一题 下一题