问题2147--二进制码

2147: 二进制码

时间限制: 1Sec 内存限制: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
来源/分类