人民邮电出版3 第五章位操作及其它操作
人民邮电出版社 第五章 位操作及其它操作
人民邮电出版3 5.1按位操作 52条件运算操作符“?” 653逗号(,)、方括号和圆括号()操作符 54复合赋值运算符
人民邮电出版社 5.1 按位操作 5.2 条件运算操作符“?” 5.3 逗号(,)、方括号[ ]和圆括号( )操作符 5.4 复合赋值运算符
人民邮电出版3 51按位操作 5.11^按位操作符 按位操作是对数据以二进制位为单位(bit) 进行运算。参加运算的操作数必须是char、int和 long数据类型的变量或常量。显然,不能对foa 冷 Me double、vod或其它复杂数据类型的数据进行位运 算。表5.1.1列出了所有的位操作的功能及其操作 符
人民邮电出版社 5.1 按位操作 5.1.1 按位操作符 按位操作是对数据以二进制位为单位(bit) 进行运算。参加运算的操作数必须是char、int和 long数据类型的变量或常量。显然,不能对float、 double、void或其它复杂数据类型的数据进行位运 算。表5.1.1列出了所有的位操作的功能及其操作 符
人民邮电出版3 表5.1.1 操作符 操作功能 按位求反 & 按位与 按位或 按位异或 按位右移 << 按位左移
人民邮电出版社 表5.1.1 操作符 操作功能 ~ 按位求反 & 按位与 | 按位或 ^ 按位异或 >> 按位右移 << 按位左移 表5.1.1
人民邮电出版3 1.按位逻辑运算 表5.12给出前4种逻辑运算的真值表 表512 p p o&g paq plq 0 0 0 0 0 0 0 0
人民邮电出版社 1. 按位逻辑运算 表5.1.2给出前4种逻辑运算的真值表。 p q ~p p&q p|q p^q 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 0 表5.1.2
人民邮电出版3 2移位操作 右移和左移语句的一般格式为: variable > number of bit: variable < number of bit 其中 variable是被移位操作的变量 8 number of bit是移位的位数
人民邮电出版社 2. 移位操作 右移和左移语句的一般格式为: variable >> number_of_bit; variable << number_of_bit; 其中variable是被移位操作的变量; number_of_bit是移位的位数
人民邮电出版3 512位操作的优先级 位操作中以求反优先级最高,并优先于算术运 算和关系运算。移位操作的优先级排在算术之后 关系运算之前。 三个其它位操作的优先级,按由高到低依次为 “与”、“或”和“异或”,并且低于关系运算 ∞求反操作遵守从右至左的结合规则,其它位操 作均遵守从左至右的结合规则。上述优先级关系示 g人于表5.1.3
人民邮电出版社 5.1.2 位操作的优先级 位操作中以求反优先级最高,并优先于算术运 算和关系运算。移位操作的优先级排在算术之后, 关系运算之前。 三个其它位操作的优先级,按由高到低依次为 “与” 、 “或”和“异或” ,并且低于关系运算。 求反操作遵守从右至左的结合规则,其它位操 作均遵守从左至右的结合规则。上述优先级关系示 于表5.1.3
人民邮电出版 表51.3 操作 操作符 结合规则 求反 (与!,+,-等同级) (算术运算) 左移和右移 > (关系运算) 与 & 异或 或
人民邮电出版社 操 作 操作符 结合规则 求反 ~(与!,++,--等同级) ← (算术运算) → 左移和右移 > (关系运算) 与 & → 异或 ^ → 或 | → 表5.1.3
人民邮电出版3 52条件运算操作符“?” 条件操作符“的一般形式为: EXPI EXP2: EXP3 这里EXPI、EXP2、 EXP3是3个表达式。 从上述的功能看,“?”操 作符的作用,很象如下的i语 婴人句块: 图52?操作的流程 f(EXPl EXP2 el se EXP3
人民邮电出版社 5.2 条件运算操作符“?” EXP1 ? EXP2: EXP3 这里EXP1、EXP2、 EXP3是3个表达式。 从上述的功能看, “?”操 作符的作用,很象如下的if语 句块: if(EXP1) EXP2 else EXP3 图5.2 ?操作的流程 条件操作符“?”的一般形式为:
人民邮电出版3 53逗号(,)、方括哥和圆括号()操作符 5.3.1逗号结合操作 逗号操作符“,用于依次执行几个表达式,其中 滤②逗号最右边的表达式的值是整个由逗号分开的表达式 的值。逗号表达式的一般形式为: 表达式1,表达式2,表达式3,…
人民邮电出版社 5.3 逗号(,)、方括号[ ]和圆括号( )操作符 5.3.1 逗号结合操作 逗号操作符“,”用于依次执行几个表达式,其中 逗号最右边的表达式的值是整个由逗号分开的表达式 的值。逗号表达式的一般形式为: 表达式1,表达式2,表达式3,………