#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的補碼這裏http://stackoverflow.com/questions/16728492/what-is-2s-complement-number/16728502#16728502 – 2013-08-30 12:33:47