C语言中的位运算符有哪些?

Python011

C语言中的位运算符有哪些?,第1张

C 语言中有以下位运算符

&(按位与):将两个数的二进制每一位同时与(AND)起来,并将结果赋给左操作数。

|(按位或):将两个数的二进制每一位同时或(OR)起来,并将结果赋给左操作数。

^(按位异或):将两个数的二进制每一位同时异或(XOR)起来,并将结果赋给左操作数。

<<(左移):将左操作数的二进制数向左移动右操作数指定的位数,并将结果赋给左操作数。

>>(右移):将左操作数的二进制数向右移动右操作数指定的位数,并将结果赋给左操作数。

~(按位取反):将左操作数的二进制数按位取反(即 1 变为 0,0 变为 1),并将结果赋给左操作数。

希望这些可以帮助到你。

C语言是为描述系统而设计的,它的第一个应用就是UNIX操作系统的设计,因此必须具有低级语言的特点。指针运算和位运算就是其代表。

我们知道,计算机中的信息以及控制信号均是以二进制码的0、1的形式存储和处理的。每一个0或1称为一个“位”(bit),8位构成一个字节(byte)。在内存中,每一个字节均有一个编号,称为内存地址。

在以前的各章节中,我们都是将一个字节(如字符型)和若干字节(如整型、实型等)中的内容作为一个整体进行处理的(赋值、运算、I/O操作)。

位运算则是针对这些字节中的若干位进行操作。这在系统软件设计中和自动控制中是十分有用的。

C语言的位运算符有~,<<,

>>,

&,

|,

^共6个,并可与赋值运算符相结合(除~外)成为位运算赋值操作。

应注意:参与位运算的量只能是整型和字符型。

运算:C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。

在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。

当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。

运算符号:

比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补0)位移。

例如,将11100011右移3比特,算术右移后成为11111100,逻辑右移则为00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。

运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。