1

有人可以给我一些关于如何在汇编(MASM)中将浮点舍入到最接近的 .001 的提示吗?我有 2 个整数。我需要将商显示为浮点数(num_1 / num_2)。我得到了浮点算术部分,但我不知道如何对结果进行舍入。非常感谢任何建议!

;calculate the quotient as a floating-point number
    fild    num_1
    fidiv   num_2
    roundps

    ;display the quotient as a floating-point number        
    call    WriteFloat
    call    CrLf
4

2 回答 2

1

您可以将数字缩放 1000,将其四舍五入,然后再按比例缩小。

于 2013-04-10T20:40:04.703 回答
1

乘以 1000 ( fmul),四舍五入为整数 ( frndint),然后除以 1000 ( fdiv)。

roundps指令需要 SSE4.1,并且仅适用于 SSE 或 AVX 寄存器,不适用于 FPU 的寄存器。

于 2013-04-10T20:43:02.853 回答