C-Sprache: Bitoperation ---- Setzen Sie eine bestimmte Position auf 1 oder 0

Grundlegende Entwicklung der C-Sprache ---- Verzeichnis


Vorbereitung

Um ein Bit auf 1 oder 0 zu setzen, ist eine Bitmanipulation erforderlich.

Dieses Mal müssen Sie die Vier-Bit-Operationen AND (&) oder (|), Linksverschiebung (<<) und Rechtsverschiebung (>>) verwenden .

Spezifische Bitoperationsanweisungen: C-Sprache: Bitoperatoren ---- und (&), oder (|), nicht (~), exklusiv oder (^), Linksverschiebung (<<) und Rechtsverschiebung (>>)

Ein bestimmtes Bit – auf 1 gesetzt

Oder (|) Eigenschaften : 1 ist 1, doppelte 0 ist 0.
1 oder (|) Jede Zahl ist 1, wodurch die Position 1-Operation realisiert werden kann .
Jede Zahl von 0 oder (|) kann eine beliebige Zahl sein, und wenn die Operation an Position 1 realisiert werden kann, werden andere Bits nicht beeinflusst.
Verwenden Sie dann die Linksverschiebungs- und Rechtsverschiebungsoperationen, um die Setzoperation eines beliebigen Bits zu realisieren.

Der spezifische Code lautet wie folgt:

#include <stdio.h>

int main(int argc, char *argv[])
{
    
    
	int m = 0x93;	//0x93 二进制: 1001 0011
	int a = m|(1<<3); //0x9b 二进制:1001 1011 
	 
	printf("a=0x%x\n",a);
	return 0;
}

Das Ergebnis der Operation ist wie folgt:

Fügen Sie hier eine Bildbeschreibung ein

Ein bestimmtes Bit – auf 0 gesetzt

Und (&) Eigenschaften : 0 ist 0, doppelt 1 ist 1. Jede Zahl von
0 und (&) ist 0, wodurch die Position 0-Operation realisiert werden kann .
Jede Zahl von 1 und (&) kann eine beliebige Zahl sein, und wenn die Operation an Position 0 realisiert werden kann, werden andere Bits nicht beeinflusst.
Verwenden Sie dann die Linksverschiebungs- und Rechtsverschiebungsoperationen, um die Nullsetzungsoperation eines beliebigen Bits zu realisieren.

Der spezifische Code lautet wie folgt:

#include <stdio.h>

int main(int argc, char *argv[])
{
    
    
	int m = 0x93;	//0x93 二进制: 1001 0011
 	int a = m&(~(1<<4)); //0x83 二进制:1000 0011 
 	
	printf("a=0x%x\n",a);
	return 0;
}

Das Ergebnis der Operation ist wie folgt:
Fügen Sie hier eine Bildbeschreibung ein


Supongo que te gusta

Origin blog.csdn.net/MQ0522/article/details/129717618
Recomendado
Clasificación