c - 如何在 MIPS 中将没有 mul.s 的浮点值相乘?
问题描述
我想做以下操作:
0.1xA^2 #A代表整数,0.1是浮点数。
我不允许使用乘法、除法或移位指令。
.data
num1: .float 0.1
.text
main:
#A
li $v0, 5
syscall
move $t0, $v0 #A is stored in t0
li $t3, 0
li $s5, 0
#Finds A^2
Loop1:
bge $t3, $t0, Quit1
add $s5, $s5, $t0
addi $t3, $t3, 1
j Loop1
Quit1:
li $t3, 0
li $s4, 0
mtc1 $s5, $f10 #s5 is result of A^2
cvt.s.w $f10, $f10
lwc1 $f18, num1
我在上面找到了 A 的平方,并将 A 从整数转换为浮点值并将 0.1 存储到寄存器 $f18 中。但是,我不确定如何在不使用乘法或移位指令的情况下乘以 0.1xA。
解决方案
推荐阅读
- pentaho - 向 Pentaho 输入数据的问题
- javascript - Vue V-Model Initiation Loss Selects 选择
- python - 如何编写一个字符串解释器,它将在 python 中执行一系列海龟移动命令?
- android - insert-koin:如何将 MVP 活动视图界面注入演示者?
- python - 无监督机器翻译 Facebook 研究
- swift - AppDelegate 中的 EXC_BAD_ACCESS
- amazon-web-services - 如何导出 CloudWatch 仪表板数据以与没有 AWS 账户的人共享。
- javascript - 单线任务:检查范围 - CodeWars(使用 JavaScript 的方法)
- java - AbstractStringBuilder.enlargeBuffer 处的 OutOfMemoryError
- html - 如何创建另一个页面