pr31169.c

来自「用于进行gcc测试」· C语言 代码 · 共 52 行

C
52
字号
extern void abort();#define HOST_WIDE_INT long#define HOST_BITS_PER_WIDE_INT (sizeof(long)*8)struct tree_type{  unsigned int precision : 9;};intsign_bit_p (struct tree_type *t, HOST_WIDE_INT val_hi, unsigned HOST_WIDE_INT val_lo){  unsigned HOST_WIDE_INT mask_lo, lo;  HOST_WIDE_INT mask_hi, hi;  int width = t->precision;  if (width > HOST_BITS_PER_WIDE_INT)    {      hi = (unsigned HOST_WIDE_INT) 1 << (width - HOST_BITS_PER_WIDE_INT - 1);      lo = 0;      mask_hi = ((unsigned HOST_WIDE_INT) -1                 >> (2 * HOST_BITS_PER_WIDE_INT - width));      mask_lo = -1;    }  else    {      hi = 0;      lo = (unsigned HOST_WIDE_INT) 1 << (width - 1);          mask_hi = 0;      mask_lo = ((unsigned HOST_WIDE_INT) -1                 >> (HOST_BITS_PER_WIDE_INT - width));    }  if ((val_hi & mask_hi) == hi      && (val_lo & mask_lo) == lo)    return 1;  return 0;}int main(){  struct tree_type t;  t.precision = 1;  if (!sign_bit_p (&t, 0, -1))    abort ();  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?