作业帮 > 数学 > 作业

如何计算以2为基的补码和以r为基的补码?比如说:+12,-12,+9.5,-9.尽量把计算过程写下来好吗

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/24 01:19:47
如何计算以2为基的补码和以r为基的补码?比如说:+12,-12,+9.5,-9.尽量把计算过程写下来好吗
这是数字逻辑与应用上的一个问题.看了半天还是没有看懂额.
以9.5为例吧,9.5可以写成9.5x10^0也可以写成95X10^-1或者0.95X10.这里面的10就称为基数,
多少次方或者数学上的指数就称为阶数,9.5 95 0.95就称为尾数,整个这个数称为浮点数,意思就是小数点的位置是可以变化的. 补码是计算机中的一个专有名词,是从数学中的补数得来的,计算机中的数都是二进制数,所以基数必须取2的整数次方倍例如2 4 8,这是为了在二进制中让小数点产生移动,可以浮点数的加减中对阶.
上面说这么多,想表达两个意思,一,对于二进制数,基数r不是随便取的,必须是2的整数次方倍,十进制数基数r就是10的整数次方倍.二补码只是针对二进制数来说的,十进制数要化成二进制数,然后再计算是以基数为多少的补码.以下说一下计算.
一个正数的补码就是其本身,符号位为0,一个负数的补码就是符号位为1,数值部分是原码各位取反再末位加一.注意符号位是不取反的.基数与数值部分无关,只是相对的符号位的位数产生了变化.
例如:12对应的二进制数是1100 假设前面有一个符号位则其原码为0,1100 补码为0,1100所以说正数的补码就是其本身.-12对应的二进制原码为1,1100 其补码为符号位不变,数值部分取反末位加一就是1,0100.同理9.5对应的二进制数原码为0,1001.1 其补码为0,1001.1 -9.5对应的二进制原码为1,0110.1
如果写成以4为基数的补码则有两位的符号位,则12的原码为00,1100,补码为00,1100. -12的原码为11,1100 补码为11,0100 基数为8则有3个符号位.