📄 copysign.c
字号:
#include <ansidecl.h>#ifdef __IEEE_BIG_ENDIANtypedef union { double value; struct { unsigned int sign : 1; unsigned int exponent: 11; unsigned int fraction0:4; unsigned int fraction1:16; unsigned int fraction2:16; unsigned int fraction3:16; } number; struct { unsigned int sign : 1; unsigned int exponent: 11; unsigned int quiet:1; unsigned int function0:3; unsigned int function1:16; unsigned int function2:16; unsigned int function3:16; } nan; struct { unsigned long msw; unsigned long lsw; } parts; long aslong[2];} __ieee_double_shape_type;#endif#ifdef __IEEE_LITTLE_ENDIANtypedef union { double value; struct {#ifdef __SMALL_BITFIELDS unsigned int fraction3:16; unsigned int fraction2:16; unsigned int fraction1:16; unsigned int fraction0: 4;#else unsigned int fraction1:32; unsigned int fraction0:20;#endif unsigned int exponent :11; unsigned int sign : 1; } number; struct {#ifdef __SMALL_BITFIELDS unsigned int function3:16; unsigned int function2:16; unsigned int function1:16; unsigned int function0:3;#else unsigned int function1:32; unsigned int function0:19;#endif unsigned int quiet:1; unsigned int exponent: 11; unsigned int sign : 1; } nan; struct { unsigned long lsw; unsigned long msw; } parts; long aslong[2];} __ieee_double_shape_type;#endif#ifdef __IEEE_BIG_ENDIANtypedef union{ float value; struct { unsigned int sign : 1; unsigned int exponent: 8; unsigned int fraction0: 7; unsigned int fraction1: 16; } number; struct { unsigned int sign:1; unsigned int exponent:8; unsigned int quiet:1; unsigned int function0:6; unsigned int function1:16; } nan; long p1; } __ieee_float_shape_type;#endif#ifdef __IEEE_LITTLE_ENDIANtypedef union{ float value; struct { unsigned int fraction0: 7; unsigned int fraction1: 16; unsigned int exponent: 8; unsigned int sign : 1; } number; struct { unsigned int function1:16; unsigned int function0:6; unsigned int quiet:1; unsigned int exponent:8; unsigned int sign:1; } nan; long p1; } __ieee_float_shape_type;#endifdouble DEFUN(copysign, (x, y), double x AND double y){ __ieee_double_shape_type a,b; b.value = y; a.value = x; a.number.sign =b.number.sign; return a.value;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -