《C语言程序设计》 立运算
《 C语言程序设计》
位运算 ●●● 位运算是指对二进制位进行的运算。每个二进 制位中只能存放0或1。因此,位运算就是对 二进制数的运算。通常,将一个数据用二进制 数表示后,最右边的二进制位称为最低位(第 0位),最左边的二进制位为最高位。 15 1413 1211 10 9 8 6 5 4 3 目标要求 讲课提纲 讲课内容 课后作业 退出
目标要求 讲课提纲 讲课内容 课后作业 退出 ◼ 位运算是指对二进制位进行的运算。每个二进 制位中只能存放0或1。因此,位运算就是对 二进制数的运算。通常,将一个数据用二进制 数表示后,最右边的二进制位称为最低位(第 0位),最左边的二进制位为最高位。 位运算 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
● ■在C语言中共提供了6种位运算符, 位运算符及其功能 运算符 含 义 优先级 单(双)目运算符 按位求反 2 (高) 单目(一元) 左移 > 右移 5 & 按位与 8 双目(二元) ∧ 按位异或 9 按位或 10 (低) 目标要求 讲课提纲 讲课内容 课后作业 退出
目标要求 讲课提纲 讲课内容 课后作业 退出 ◼ 在C语言中共提供了6种位运算符, 位运算符及其功能 (低) 10 ∧ 按位异或 9 | 按位或 & 按位与 8 双目(二元) 5 左移 右移 << >> 单目(一元) (高) ~ 按位求反 2 运算符 含 义 优 先 级 单(双)目运算符
在这6种位运算符中,其中按位取反是单目运 算符,只有一个运算对象,其他均为双目运算 符,有两个运算对象。 位运算的运算对象只能是整型(包括int short,long和unsigned)或字符型数据 而不能是实型数据。 各位运算符的优先级比较分散,与其他运算符 一起,其优先级从高到低如下: 逻辑非()→按位取反(~)→算术运算符→左移运 算符(<<)和右移运算符(>>)→关系运算符→ 按位与运算符(&),按位异或运算符(A),按位 或运算符()→&&与‖→赋值运算符 目标要求 讲课提纲 讲课内容 课后作业 退出
目标要求 讲课提纲 讲课内容 课后作业 退出 ◼ 在这6种位运算符中,其中按位取反是单目运 算符,只有一个运算对象,其他均为双目运算 符,有两个运算对象。 ◼ 位运算的运算对象只能是整型(包括int, short,long和unsigned)或字符型数据, 而不能是实型数据。 ◼ 各位运算符的优先级比较分散,与其他运算符 一起,其优先级从高到低如下: 逻辑非(!)→按位取反(~)→算术运算符→左移运 算符(<<)和右移运算符(>>)→关系运算符→ 按位与运算符(&),按位异或运算符(^),按位 或运算符(|)→&&与|| →赋值运算符
《求反》运算符(N】 ◆ 规则 对参与运算的数的各二进位按位求反,它是 单目运算符,具有右结合性。即:w0=1; 八1=0。 例如:~9的运算为 w0000000000001001 1111111111110110 目标要求 讲课提纲 讲课内容 课后作业 退出
目标要求 讲课提纲 讲课内容 课后作业 退出 “求反”运算符 (~) ◼ 规则 对参与运算的数的各二进位按位求反,它是 单目运算符,具有右结合性。即:~0=1; ~1=0。 例如:~9的运算为 ~ 0000000000001001 1111111111110110