C에서는 strtof("nan(0x200000)", nullptr)
이 0x7fe00000
으로 표시됩니다. 그러나 WebAssembly spec interpreter tests에서 :WebAssembly : (f32.const nan : 0x200000)은 0x7fa00000 또는 0x7fe00000을 의미합니다.
(assert_return (invoke "f32.reinterpret_i32" (i32.const 0x7fa00000)) (f32.const nan:0x200000))
(assert_return (invoke "f32.reinterpret_i32" (i32.const 0xffa00000)) (f32.const -nan:0x200000))
그래서 (또는 nan:0x200000
) WebAssembly nan(0x200000)
에 0x7fa00000
로 표현해야하거나 오류입니까?
왜 C에서 다르게 구현 되나요?
같은 질문은 f64.const
입니다. C에서
C 표준은 부동 소수점 형식을 요구하지 않으므로 NaN이 무엇인지 지정하지 않습니다. –