0

変数があります:

char segment = 0;

1 またはビット 15 の後、セグメント = 1;

このビットチェックがすでに行われていることを意味します。

質問は、ビット 15 のマークをキャンセルする方法です (0 に戻す)。

「~」を使う?

4

2 に答える 2

1

次のプログラムはビットをセットし、ビットをクリアし、ビットをトグルします

#include<stdio.h>

void main(void)
{
unsigned int byte;
unsigned int bit_position;
unsigned int tempbyte = 0x01;
//get the values of the byte and the bit positions 
//set bit
byte = (byte | (tempbyte << bit_position));// set the bit at the position given by bit_position
//clear bit
byte = (byte & ~(tempbyte << bit_position));//clear the bit at the position given by bit_position
//toggle bits
byte = (byte ^ (tempbyte << bit_position));//toggle the bit at the position given by bit_position
}
于 2014-02-27T22:44:00.153 に答える