📄 unsafe-fp-assoc-1.c
字号:
extern void abort();typedef union { struct { unsigned int hi; unsigned int lo; } i; double d;} hexdouble;static const double twoTo52 = 0x1.0p+52;void func ( double x ){ hexdouble argument; register double y, z; unsigned int xHead; argument.d = x; xHead = argument.i.hi & 0x7fffffff; if (__builtin_expect(!!(xHead < 0x43300000u), 1)) { y = ( x - twoTo52 ) + twoTo52; if ( y != x ) abort(); z = x - 0.5; y = ( z - twoTo52 ) + twoTo52; if ( y == (( x - twoTo52 ) + twoTo52) ) abort(); } return;}int main(){ func((double)1.00); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -