我想用printf打印浮点值
global main
extern printf
section .data
string: db `%f\n`, 0
section .bss
rs: resq 1
[...]
movq xmm0, [rs]
mov rdi, string
mov rax, 0
call printf
Run Code Online (Sandbox Code Playgroud)
rs包含浮点值1.6
(gdb) x/fg &rs
0x600ad8 <rs>: 1.6000000000000001
Run Code Online (Sandbox Code Playgroud)
但程序打印
[username@localhost folder]$ ./programname
0.000000
Run Code Online (Sandbox Code Playgroud)
谁能让程序打印1.6?我究竟做错了什么?