Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
对于家庭作业,我应该将存储在数据段中的单精度 IEEE 754 数字乘以 4 并将结果存储回来。我完全理解 IEEE 754 的工作原理以及如何完成这个简单的乘法(Exp +2)。
但是,我无法弄清楚我应该如何使用 32 位二进制文件,因为 MIPS 似乎不支持二进制表示,并且从数据段中读取 32 个 0 和 1 似乎有点复杂我,特别是因为我们应该写下指令而不是上传程序。
除了愚蠢地逐个处理位之外,还有什么办法可以弄乱二进制 IEEE754 表示?我不允许使用任何浮点运算,应该忽略溢出等。
您可以分组操作这些位。例如,您可以通过屏蔽(使用逻辑与)然后移位来提取选定的位。您可以通过删除现有位值(使用 AND)将特定位放回原处,将要放回的位移回正确的位置,然后组合(使用 OR)。
逻辑与、或、左移和右移的组合允许您将位作为一个大组进行操作。
例如,要从 32 位无符号值中提取高 4 位,与 F0000000 进行与运算,然后右移 28 位。用 Y 替换 X 的四个高位,用 0FFFFFFFF 替换 X,然后用 Y 右移 28 位 OR 它。等等。