二进制补码运算判断是否溢出的标准是什么?用1101+01010101作为例子
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/11/08 03:50:51
二进制补码运算判断是否溢出的标准是什么?用1101+01010101作为例子
要限定数字的位数,运算结果超出了范围,就溢出了.
楼主给出的两个数,没有明确的位数,这就永远不会溢出.
再问: 书上说要补成一样长的再算,在1101前面加4个1这样再算 然后第一位就会进位了...
再答: 随意说一个位数不清的数,计算、判断,就不规范。
计算机一般是8位,或16位的。
一个8位补码,所能表示的数字范围是:-128~+127。
计算十进制的加法:100 + 100 = 200
用8位补码来计算,就是:
0110 0100 + 0110 0100 = 1100 1000。并没有进位。
但是,结果并不是200的补码,而是-56的补码。
因为 200 的补码,需要 9 位二进制数。
这就是溢出了。
再问: 厄 这么说就是只要结果一样就不是溢出吗
再答: 运算结果,超出了指定位数所能表示的范围,就溢出了。
先要明确位数,然后就知道了范围,最后再讨论溢出与否。
不是随便给定两个数字,就能判定溢出不溢出的。
再答: 16 位的补码,可表示:-32768~+32767。
计算十进制的加法:100 + 100 = 200
用 16 位补码来计算,就是:
0000 0000 0110 0100 +
0000 0000 0110 0100 =
0000 0000 1100 1000
结果,正是 200 的补码。
此时,就没有溢出。
楼主给出的两个数,没有明确的位数,这就永远不会溢出.
再问: 书上说要补成一样长的再算,在1101前面加4个1这样再算 然后第一位就会进位了...
再答: 随意说一个位数不清的数,计算、判断,就不规范。
计算机一般是8位,或16位的。
一个8位补码,所能表示的数字范围是:-128~+127。
计算十进制的加法:100 + 100 = 200
用8位补码来计算,就是:
0110 0100 + 0110 0100 = 1100 1000。并没有进位。
但是,结果并不是200的补码,而是-56的补码。
因为 200 的补码,需要 9 位二进制数。
这就是溢出了。
再问: 厄 这么说就是只要结果一样就不是溢出吗
再答: 运算结果,超出了指定位数所能表示的范围,就溢出了。
先要明确位数,然后就知道了范围,最后再讨论溢出与否。
不是随便给定两个数字,就能判定溢出不溢出的。
再答: 16 位的补码,可表示:-32768~+32767。
计算十进制的加法:100 + 100 = 200
用 16 位补码来计算,就是:
0000 0000 0110 0100 +
0000 0000 0110 0100 =
0000 0000 1100 1000
结果,正是 200 的补码。
此时,就没有溢出。
二进制补码运算判断是否溢出的标准是什么?用1101+01010101作为例子
用C语言编译实现将2个16位二进制定点整数补码的加减运算及溢出判断(包括单符号位、双符号位.
二进制补码计算,下列各数均为十进制数,试用8位二进制补码计算下列各题,并用十六进制数表示机器运算结果,同时判断是否有溢出
怎样根据运算数和结果的符号状态判断补码运算溢出
一个补码运算溢出的问题,(有具体例子希望能详细点讲解呀)
用补码运算方法求x+y=?,x-y=?,指出结果是否溢出.
8位补码运算:x=-11010b,y=+10001b,求[x-y]补,并判断是否溢出
已知X=-0.1011,y=-0.0101要求补码运算x+y=?x-y=?判断是否溢出
求补码运算结果,并判断是否溢出,第一题是:-53-133 第二题:-189+87
二进制运算为什么要用补码进行运算?
“两个用补码表示的数相加时,如果在最高位产生进位,则表示运算溢出”是否正确?为什么?
一般采用补码运算的二进制减法器,来实现定点二进制数加减法的运算