试题详情
- 简答题 以下是两段C语言代码, 函数arith()是直接用C语言写的,而optarith()是对arith()函数以某个确 定的M和N编译生成的机器代码反编译生成的。根据optarith(),可以推断函数arith()中M和N的值各是多少?
-
可以看出x*M和“int t=x;x<<=4;x-=t;”三句对应,这些语句实现了x乘15的功能(左移4位相当于乘以16,然后再减1),因此,M等于15;
y/N与“if(y<0)y+=3;y>>2;”两句对应,功能主要由第二句“y右移2位”实现,它实现了y除以4的功能,因此N是4。而第一句“if(y<0)y+=3;”主要用于对y=–1时进行调整,若不调整,则-1>>2=–1而–1/4=0,两者不等;调整后–1+3=2,2>>2=0,两者相等。 关注下方微信公众号,在线模考后查看
热门试题
- 寻址方式按操作数的物理位置不同,多使用(
- DLX流水线中,所有数据相关都可以通过定
- 简述在分布式共享存储器体系结构中目录协议
- 通常可能出现的流水线的相关性有()。
- 假定十进制数用8421 NBCD码表示,
- 通道是一个特殊功能的(),它有自己的()
- 在存储器层次结构中,Cache离CPU(
- 区分数据表示和数据结构
- 算术/逻辑运算单元74181ALU可完成
- 通道程序执行结束后引起的中断是()
- Tandem公司发表的Cyclone高可
- 利用时间重叠概念实现并行处理的是()
- 请求字处理技术有哪两种具体的实现方法?
- 从对执行程序或指令的控制方式上,将计算机
- 模拟
- 用户CPU时间由哪三个因素决定?
- 在计算机诞生的头25年中,计算机性能增长
- 强制性失效
- 按IEEE754标准,一个浮点数的阶码E
- 程序往往重复使用它刚刚使用过的数据和指令