在按字节编址的计算机M上,图中f1的部分源程序(阴影部分)与对应的机器级代码(包括指令的虚拟地址)如下: 其中,机器级代码行包括行号、虚拟地址、机器指令和汇编指令。 请回答下列问题。 第23条指令shl通过左移操作实现了power*2运算,在f2中能

admin2018-08-17  36

问题
在按字节编址的计算机M上,图中f1的部分源程序(阴影部分)与对应的机器级代码(包括指令的虚拟地址)如下:

其中,机器级代码行包括行号、虚拟地址、机器指令和汇编指令。
请回答下列问题。
第23条指令shl通过左移操作实现了power*2运算,在f2中能否也用sh1指令实现power*27为什么?

选项

答案f2中不能用shl指令实现power*2。 因为shl指令用来将一个整数的所有有效数位作为一个整体左移;而f2中的变量power是float型,其机器数中不包含最高有效数位,但包含了阶码部分,将其作为一个整体左移时并不能实现“乘2”的功能,因而f2中不能用shl指令实现power*2。浮点数运算比整型运算要复杂,耗时也较长。

解析
转载请注明原文地址:https://jikaoti.com/ti/XCfjFFFM
0

最新回复(0)