82二选侧 所谓位运算是指进行二进制位的运算。在系统软件中,常要处理二 进制位的问题。C语言提供了按位运算的功能,这使得它与其它高级 语言相比,具有很强的优越性 序设计 8.2.1二进制位运 8.2.2笕复合赋值运犷符 60 环 境
《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本章目录 8.2 二进制位运算 8.2.1 二进制位运算 8.2.2 位复合赋值运算符 所谓位运算是指进行二进制位的运算。在系统软件中,常要处理二 进制位的问题。C语言提供了按位运算的功能,这使得它与其它高级 语言相比,具有很强的优越性
8.2.1二进侧笕箕 「c语言提供了六种位运算符(见表81): 表8-1位逻辑运算与移位运算 类型 运算符 含义 程 序 按位与 位逻辑 按位或 按位异或 运算符 取反 白 移位运 << 左移 算符 右移 环 境 返回本节目
《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 8.2.1 二进制位运算 类 型 运算符 含义 位逻辑 运算符 & 按位与 | 按位或 ^ 按位异或 ~ 取反 移位运 算 符 << 左移 >> 右移 C语言提供了六种位运算符(见表8-1): 表8-1位逻辑运算与移位运算 返回本节目录
8.2.1二进侧笕箕 说明: ①运算量只能是整型或字符型的数据,不能为实型或结构体等类型的数据。 ②六个位运算符的优先级由高到低依次为:取反、左移和右移、按位与、 按位异或、按位或 程 8两个不同长度的数据进行位运算时,系统会将二者按右端对齐。下面对 做|各种位运算符介绍如下: 1.“按与”运算符(&) 4.“求反”运算待() 2.“按位或”运算符() 5.“左移”运算待(<< 60 3.“按位异或”运算符(^) 6.“右移”运算带(>) 环 境 返回本节目录
《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 8.2.1 二进制位运算 说明: ①运算量只能是整型或字符型的数据,不能为实型或结构体等类型的数据。 ②六个位运算符的优先级由高到低依次为:取反、左移和右移、按位与、 按位异或、按位或。 ③两个不同长度的数据进行位运算时,系统会将二者按右端对齐。下面对 各种位运算符介绍如下: 返回本节目录 1.“按位与”运算符(&) 2.“按位或”运算符(|) 3.“按位异或”运算符(^) 4.“求反”运算符(~) 5.“左移”运算符(<<) 6.“右移”运算符(>>)
1.“按位与”运算(&) (1)规则: e参与运算的两数(以补码方式出现)各对应的二进位相与(即逻辑乘), 悟只有对应的两个二进位均为时,结果位才为1,否则为0,它是双目运算符。 富即:0&0=0:0&1=0:180=0:1&1=1。 程例如: 序 做|%5可写算式如下: 计9的二进制补码:00001001 5的二进制补码:00000101 白 00000001(1的二进制补码) 6可见9&5=1。 环 境 返回8.2.1目录
《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 1.“按位与”运算符(&) (1)规则: 参与运算的两数(以补码方式出现)各对应的二进位相与(即逻辑乘), 只有对应的两个二进位均为1时,结果位才为1,否则为0,它是双目运算符。 即:0&0=0;0&1=0;1&0=0;1&1=1。 例如: 9&5可写算式如下: 9的二进制补码: 0 0 0 0 1 0 0 1 5的二进制补码: 0 0 0 0 0 1 0 1 & ___________________ 0 0 0 0 0 0 0 1(1的二进制补码) 可见9&5=1。 返回8.2.1目录
1.“按位与”运算(&) 2)特殊用途: ①清零 言|授位与运算通常用来对某些位清0。由按位与的规则可知:为了使某数的指 定位清零,可将该数按位与一特定数。该数中为1的位,特定数中相应位应 程|为:该数中为0的位,特定数中相应位可以为也可以为1。由此可见,能 序|对某一个数的指定位清零的数并不唯一。【例82 补/②取一个数中某些位 可将该数与一个特定数进行&运算,对于要取的那些位,特定数中相应的 3位设为1。例831 ③取出数中某一位 白 要相将一个数的某一位保留下来,可将该数与一个特定数进行&运算,特 6定数的相对应的那位应为1。【例84 环 境 返回本节目录
《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 1.“按位与”运算符(&) (2)特殊用途: ①清零 按位与运算通常用来对某些位清0。由按位与的规则可知:为了使某数的指 定位清零,可将该数按位与一特定数。该数中为1的位,特定数中相应位应 为0;该数中为0的位,特定数中相应位可以为0也可以为1。由此可见,能 对某一个数的指定位清零的数并不唯一。【例8.2】 ②取一个数中某些位 可将该数与一个特定数进行&运算,对于要取的那些位,特定数中相应的 位设为1。【例8.3】 ③取出数中某一位 要相将一个数的某一位保留下来,可将该数与一个特定数进行&运算,特 定数的相对应的那位应为1。【例8.4】 返回本节目录