题目描述
在计算机中,对于定点数有三种不同的表示方法。在本题中,假定码的长度固定为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。
输出
对于每组数据,输出三行,第一行为原码,第二行为取反码,第三行为补码。
00000000
01111111
00000000
00000001
01111110
00000001
10000000
11111111
00000000
10000011
11111100
11111101