问答题
简答题
以下是一个C语言程序,用来计算一个数组a中每个元素的和。当参数len为0时,返回值应该是0,但是在机器上执行时,却发生了存储器访问异常。请问这是什么原因造成的,并说明程序应该如何修改。
【参考答案】
参数len的类型是unsigned,所以,当len=0时,执行len-1的结果为11…1,是最大可表示的无......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
点击查看答案
相关考题
-
问答题
假定一台32位字长的机器中带符号整数用补码表示,浮点数用IEEE 754标准表示,寄存器R1和R2的内容分别为R1:0000108BH,R2:8080108BH。不同指令对寄存器进行不同的操作,因而,不同指令执行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器R1和R2的内容,则R1和R2中操作数的真值分别为多少? (1)无符号数加法指令 (2)带符号整数乘法指令 (3)单精度浮点数减法指令 -
问答题
已知[x]补,求x(1)[x]补=1.1100111(2)[x]补=10000000(3)[x]补=0.1010010(4)[x]补=11010011 -
问答题
假定机器数为8位(1位符号,7位数值),写出下列各二进制数的补码和移码表示。+1001,–1001,+1,–1,+10100,–10100,+0,–0
