假定一个数在机器中占16位,分别计算666和﹣666的原码、反码和补码。
1个回答
关注
展开全部
1. 原码
原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符号位。因为第一位是符号位,所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111]即[-127 , 127]
原码是人脑最容易理解和计算的表示方式。
2. 反码
反码的表示方法是:正数的反码是其本身,负数的反码是在其原码的基础上,符号位不变,其余各个位取反。
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可见如果一个反码表示的是负数,人脑无法直观的看出来它的数值。通常要将其转换成原码再计算。
3. 补码
补码的表示方法是:正数的补码就是其本身,负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。 (即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-"
咨询记录 · 回答于2024-01-09
假定一个数在机器中占16位,分别计算666和666的原码、反码和补码。
简述数据压缩的 性能指标。
1. 原码
原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符号位。因为第一位是符号位,所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111],即[-127 , 127]。原码是人脑最容易理解和计算的表示方式。
2. 反码
反码的表示方法是:正数的反码是其本身,负数的反码是在其原码的基础上,符号位不变,其余各个位取反。
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可见,如果一个反码表示的是负数,人脑无法直观的看出来它的数值。通常要将其转换成原码再计算。
3. 补码
补码的表示方法是:正数的补码就是其本身,负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-"
数据压缩技术有三个主要指标一是压缩比要大;二是实现压缩的算法要简单,就是速度快;三是恢复效果要好,要尽可能地完全恢复原始数据。
假定一个数在机器中占16位,分别计算666和666的原码、反码和补码。就直接写答案就行
是16位的吗
在机器中占16位
1010011010
?三个的
原码1010011010反码1101100101补码0010011010