第12章 位运算
第10章位运算 本章内容 位运算符和位运算 2.位运算举例 3.位段
-2- 第10章 位运算 本 章 内 容 1. 位运算符和位运算 2. 位运算举例 3. 位段
第10章位运算 基本概念 概念 ◆位运算是指按二进制位进行的运算。因为在系统软件中,常要处 理二进制位的问题。 例如:将一个存储单元中的各二进制位左移或右移一位,两个数 按位相加等。 ◇C语言提供位运算的功能,与其他高级语言(如 PASCAL)相比, 具有很大的优越性
-3- 第10章 位运算 基 本 概 念 概念 v 位运算是指按二进制位进行的运算。因为在系统软件中,常要处 理二进制位的问题。 例如:将一个存储单元中的各二进制位左移或右移一位,两个数 按位相加等。 v C语言提供位运算的功能,与其他高级语言(如PASCAL)相比, 具有很大的优越性
第10章位运算 12.1位运算符和位运算 ■C语言提供的位运算符 运算符含义运算符含义 &按位与 取反 按位或 左移 ∧按位异或> 右移 ■说明: 令位运算符中除~以外,均为二目(元)运算符,即要求两侧各有 个运算量。 ◆运算量只能是整型或字符型的数据,不能为实型数据
-4- 第10章 位运算 12.1 位运算符和位运算 C语言提供的位运算符 v 位运算符中除~以外,均为二目(元)运算符,即要求两侧各有 一个运算量。 v 运算量只能是整型或字符型的数据,不能为实型数据。 运算符 含义 运算符 含义 & 按位与 ~ 取反 | 按位或 << 左移 ∧ 按位异或 >> 右移
第10章位运算 12.1位运算符和位运算 ■"按位与″运算符(&) ☆〃按位与″运算规则 如果两个相应的二进制位都为1,则该位的结果值为1;否则为 0。即 0&0=0,0&1=0,1&0=0,1&1=1例:3&5 并不等于8,应该是按位与运算: 0000001(3) 3&5的值得1 &0000101(5) 0000001(1) 注意:如果参加&运算的是负数(如-3&-5),则要以补码形式表 示为二进制数,然后再按位进行"与"运算
-5- 第10章 位运算 12.1 位运算符和位运算 "按位与"运算符(&) v "按位与"运算规则 如果两个相应的二进制位都为1,则该位的结果值为1;否则为 0。即: 0&0=0,0&1=0,1&0=0,1&1=1例:3&5 并不等于8,应该是按位与运算: 注意:如果参加&运算的是负数(如-3&-5),则要以补码形式表 示为二进制数,然后再按位进行"与"运算。 00000011(3) & 00000101(5) 00000001(1) 3&5的值得1