对于家庭作业,我应该将存储在数据段中的单个精度IEEE754数字乘以4,然后将结果存储回去。我完全理解IEEE754是如何工作的,以及这个简单的乘法是如何实现的(Exp +2)。
然而,我不知道我应该如何处理32位的二进制,因为MIPS本身似乎不支持二进制表示,而且从数据段读取32个0和1对我来说似乎有点复杂,特别是因为我们应该写下指令而不是上传程序。
除了愚蠢地逐个处理比特之外,还有什么方法可以处理二进制IEEE754表示吗?我不允许使用任何浮点运算,应该忽略溢出等。
发布于 2013-05-24 02:36:12
您可以在组中操作比特。例如,您可以通过屏蔽(使用逻辑与)然后移位来提取所选位。通过删除现有位值(使用AND),将想要放回正确位置的位移位,然后组合(使用OR),可以将特定位放回原处。
逻辑AND、OR、左移位和右移位的组合允许您将位作为一个大组进行操作。
例如,从32位无符号值中提取四个高位,并使用F0000000,然后右移28位。将X的四个高位替换为Y,将X替换为0FFFFFFFF,并将其与Y的OR运算右移28位。诸若此类。
https://stackoverflow.com/questions/16721291
复制相似问题