我的目標是通過爲每個位分配值來構造一個char變量,即我需要爲每個位分配0和1。操作字符變量的位
我做了下面的代碼:
char packet;
int bit;
packet &= ~(1 << 0);
packet |= (1 << 1);
printf("\n Checking each bit of packet: \n");
for(int x=0;x<2;x++)
{
bit = packet & (1 << x);
printf("\nBit [%d] of packet : %d", x, bit);
}
但我得到的輸出是:
Bit[0] of packet : 0 Bit[1] of packet : 2
這裏有什麼問題嗎?
目前尚不清楚你實際要做什麼。你期望發生什麼? – yan 2011-03-31 04:49:39
這就是你的代碼所做的。設g =垃圾(即未初始化的存儲位)。您從「g g g g g g g g」開始。首先按位運算創建「g g g g g g 0」,第二個運算創建「g g g g g g 0 0」。而你的循環只是輸出[0] = 0x00(第一位是0)。和[1] = 0x02(第二位是1)。所以基本上,正如我們許多人經常說的那樣,「按設計工作」 – DXM 2011-03-31 04:59:43