4464: 计算机中带符号数的表示法

内存限制:128 MB 时间限制:1.000 S
评测方式:特殊裁判 命题人:
提交:26 解决:7

题目描述

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)

样例输入 复制


样例输出 复制