问题2147--二进制码

2147: 二进制码

时间限制: 1 Sec  内存限制: 256 MB
提交: 116  解决: 59
[状态] [讨论版] [提交] [命题人:]
题目描述
在计算机中,对于定点数有三种不同的表示方法。在本题中,假定码的长度固定为8位,从左往右依次编号为第1到8位,第1位为最高位。

x的原码:最高位为符号位,正数符号位为0,负数符号位为1,第2到7位为x的二进制表示。正负0的原码不同。

x的取反码:原码符号位除外,其他位按位取反,即1变0,0变1。(注意:不是反码!) 

x的补码:正数的补码等于原码,负数的补码等于取反码+1,因此正负0的补码相同。

给定整数x,请给出它的原码、取反码和补码。
输入
第一行包含一个正整数T(1 <= T <= 300),表示测试数据的组数。

每组测试数据包含一行,首先是一个符号+或-,表示x的正负,然后是一个非负整数y(0 <= y <= 100),表示x的绝对值为y。
输出
对于每组数据,输出三行,第一行为原码,第二行为取反码,第三行为补码。
样例输入 Copy
4
+0
+1
-0
-3
样例输出 Copy
00000000
01111111
00000000
00000001
01111110
00000001
10000000
11111111
00000000
10000011
11111100
11111101
来源/分类