4464: 计算机中带符号数的表示法
题目描述
1、原码
在用二进制原码表示的数中,符号位为 0 表示正数,符号位为 1 表示负数,其余各位表 示数值部分。 如:10000010,00000010。
2、反码
反码的定义如下:
(1)对于正数,它的反码表示与原码相同。即[x]反=[x]原
(2)对于负数,则除符号位仍为“1”外,其余各位“1”换成”0”,”0”换成 1”,即 得到反码[X]反。例如[-1101001] 反=10010110。
(3)对于 0,它的反码有两种表示:[+0] 反=00…0 [-0] 反=11…1
3、补码
正数的补码就是该正数本身。
[01100100]补 =01100100
对于负数:两头的 1 不变,中间取反。(负数取反加一)
[10100100]补 = [11011011]反+1 = 11011100
[+0]补=[-0]补=00…0。
总结:正数的原码、反码、补码相同,负数反码符号位不变其余取反,负数的补码=反 码+1。(补码的作用主要方便计算机运算)
4、BCD 码(8421 码)
BCD 码就是用二进制代码表示的十进制数,也称 BCD 数。它是用 4 位二进制代码 0000— 1001 来表示十进制数 0---9。如:39 的 BCD 码为 00111001。
练习题:
(1) 一个有符号整数的二进制补码为 1111111111101101,则其原码对应的 10 进制 为 (1) 。
(2)一个有符号整数的二进制原码为 1011010,则其反码为 (2) ,补码为 (3) 。
(3)一个 10 进制整数-2,如果表达为带符号的 8 位 2 进制,那么其原码为 (4), 反码为 (5),补码为 (6)。
样例输入 复制
样例输出 复制