Чуваки, лазил по форумам, и наткнулся на тему float в gas. Тема есть, но ответов в ней нет. Видимо так бывает, что люди знают не все.
И я такой: стопе! Могу выглядить круто, если спрошу тут, а ответ напишу там😈
Вобщем какой то обделенный как и я задается вопросом, как кодируются числа инт в float.
section .data
frm: .asciz "%.2f"
section .text
global main
main:
push %rbp
mov %rsp, %rbp
mov flt:(%rip), %ebx
mov %ebx, -4%(%rbp)
cvtss2sd -4(%rbp), %xmm0
lea frm(%rip), %rdi
mov $2, %eax
call printf
flt: . long 1066192077
leave
ret
Чуваки, реально непонятно как и что изменить в .long 1066192077 чтобы вывелось на экран 9,9
Как они представляются? Сколько и какие пары чисел из 1066192077 отвечают за целую часть, а какие пары или пара, отвечает за дробную?