In C, strtof("nan(0x200000)", nullptr)
dargestellt als 0x7fe00000
. Aber in WebAssembly spec interpreter tests:WebAssembly: (f32.const nan: 0x200000) bedeutet 0x7fa00000 oder 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))
Also, in Webassembly nan(0x200000)
(oder nan:0x200000
) als 0x7fa00000
dargestellt werden, oder es ist ein Fehler aufgetreten?
Warum in C ist es anders implementiert?
Gleiche Frage für f64.const
.
Der C-Standard schreibt kein Gleitkommaformat vor, daher gibt er auch nicht an, was ein NaN sein soll –