【发布时间】:2013-08-30 12:05:54
【问题描述】:
#include<stdio.h>
int main()
{
struct value
{
int bit1:1;
int bit3:4;
int bit4:4;
}bit={1,8,15};
printf("%d%d%d",bit.bit1,bit.bit3,bit.bit4);
return 0;
}
输出为:-1-8-1
我知道这是因为无符号位,但请向我解释一下。不明白为什么 8 打印 -8 以及为什么 15 打印 -1。
【问题讨论】:
-
在这里查看什么是 2 的补码 stackoverflow.com/questions/16728492/…
标签: c