gpt4 book ai didi

c - 程序集中的 Printf 调用在输出期间未将 IEEE-754 浮点值格式化为十六进制

转载 作者:行者123 更新时间:2023-11-30 15:14:37 25 4
gpt4 key购买 nike

这是我尝试打印的字符串格式:

值:“%ld 项的调和和为 %1.18lf,即 0x%016lx”

这是汇编代码:

mov qword   rax, 2
mov rdi, values
mov rsi, r15
call printf

基本上它正确输出前两个值,但第三个值打印为“0x0000000000000000”,这是不正确的。问题是,如果我将“%016lx”更改为“%a”或%1.18lf”等其他内容,它似乎会收到正确的值,所以我不知道为什么转换不适用于“%lx”特别是格式。

xmm0 和 xmm1 的下半部分都包含我想要打印的所需值。

最佳答案

%lx 读取一个long int。整数值存储在整数寄存器中,而xmm1 则不是。该值应存储在下一个整数寄存器中(根据 Jester 的注释,该寄存器为 rdx)。

关于c - 程序集中的 Printf 调用在输出期间未将 IEEE-754 浮点值格式化为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34011086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com