第13章 中断和位运算 7
第13章 中断和位运算
13.1 中断 132位运算 7
13.1 中 断 13.2 位 运 算
132位运算 13.21位运算符 C语言提供了6种位运算运算符。 &按位与运算 1按位或运算 按位异或运算 按位取反运算 >按位右移运算 其中~运算符是单目运算符,其余的都是双 目运算符。位运算的运算对象只能是整型和字符 型数据,不能是浮点型数据。 当位运算两侧的运算对象类型不相同时,要 发生类型的自动转换
13.2 位 运 算 13.2.1 位运算符 C语言提供了6种位运算运算符。 & 按位与运算 | 按位或运算 ^ 按位异或运算 ~ 按位取反运算 > 按位右移运算 其中~运算符是单目运算符,其余的都是双 目运算符。位运算的运算对象只能是整型和字符 型数据,不能是浮点型数据。 当位运算两侧的运算对象类型不相同时,要 发生类型的自动转换
按位与运算 &运算的含义是对参与按位与运算 的两个运算对象按二进制方式对对应位进行 与运算,也就是对参与运算的两个运算对象 的机器码的对应位进行与运算。当与运算的 两个对应位都为1时,运算结果的对应位也 为1;否则运算结果的对应位为0。 7
1.按位与运算 &运算的含义是对参与按位与运算 的两个运算对象按二进制方式对对应位进行 与运算,也就是对参与运算的两个运算对象 的机器码的对应位进行与运算。当与运算的 两个对应位都为1时,运算结果的对应位也 为1;否则运算结果的对应位为0
假定某函数体有数据描述: int a=.b=1 char c=A' 那么: (1)表达式a&6的值是2。 a的机器码000000000001 &6的机器码=0000000010 0000000000000010 7
假定某函数体有数据描述: int a=3,b=–1; char c='A' 那么: (1)表达式a & 6的值是2。 a的机器码 = 0000 0000 0000 0011 & 6的机器码= 0000 0000 0000 0110 0000 0000 0000 0010
2.按位或运算 按位或运算的含义是对参与按位或运算 的两个运算对象按二进制方式对对应位进行或运 算,也就是对参与运算的两个运算对象的机器码 的对应位进行或运算。当或运算的两个对应位都 为0时,运算结果的对应位也为0;否则运算结果 的对应位为1 7
2.按位或运算 按位或运算的含义是对参与按位或运算 的两个运算对象按二进制方式对对应位进行或运 算,也就是对参与运算的两个运算对象的机器码 的对应位进行或运算。当或运算的两个对应位都 为0时,运算结果的对应位也为0;否则运算结果 的对应位为1
假定某函数题有数据描述: int a=.b=-1: char c=A' 那么: (1)表达式a6的值是7。 a的机器码=00000000001 6的机器码=000000000 0000000000000111 7
假定某函数题有数据描述: int a=3,b=–1; char c='A' 那么: (1)表达式a | 6的值是7 。 a的机器码 = 0000 0000 0000 0011 6的机器码 = 0000 0000 0000 0110 0000 0000 0000 0111
3.按位异或运算 运算的含义是对参与按位异或运算 的两个运算对象按二进制方式对对应位进行异或 运算,也就是对参异或运算的两个运算对象的机 器码的对应位进行异或运算。当异或运算的两个 对应位不相同时,运算结果的对应位为1;否则运 算结果的对应位为0 7
3.按位异或运算 ^ 运算的含义是对参与按位异或运算 的两个运算对象按二进制方式对对应位进行异或 运算,也就是对参异或运算的两个运算对象的机 器码的对应位进行异或运算。当异或运算的两个 对应位不相同时,运算结果的对应位为1;否则运 算结果的对应位为0
假定某函数题有数据描述: int a=3.b=1: char c=A 那么: ①表达式a^6的值是5。 a的机器码000000001 6的机器码=00000000000 0000000000000101 7
假定某函数题有数据描述: int a=3,b=–1; char c='A' 那么: ① 表达式a ^ 6的值是5。 a的机器码 = 0000 0000 0000 0011 ^ 6的机器码 = 0000 0000 0000 0110 0000 0000 0000 0101
4.按位取反运算 运算的含义是对参与取反运算的运算 对象按二进制方式对每一个位求反,也就 是对参与取反运算的运算对象的机器码按 位取反。如果某位为1,则变为0;为0,则 变为1。取反运算符是单目运算符。 7
4.按位取反运算 运算的含义是对参与取反运算的运算 对象按二进制方式对每一个位求反,也就 是对参与取反运算的运算对象的机器码按 位取反。如果某位为1,则变为0;为0,则 变为1。取反运算符是单目运算符