位运算符 ●C语言提供六种位运算符 &按位与 取反 按位或≤>右移 ●运算量只能是整形或字符型数据 ●~为单目运算符,其余均未双目运算符
位运算符 ⚫ C语言提供六种位运算符 & 按位与 ~ 取反 | 按位或 > 右移 ⚫ 运算量只能是整形或字符型数据 ⚫ ~为单目运算符,其余均未双目运算符
按位与运算符(&) ●运算规则:参加运算的两个数据中, 如果相应的两位都为1则结果为1, 否则为0 用途 存储单元清零 取一个数中的某些指定位 保留某些位
按位与运算符(&) ⚫ 运算规则:参加运算的两个数据中, 如果相应的两位都为1 则结果为 1, 否则为0 ⚫ 用途 • 存储单元清零 • 取一个数中的某些指定位 • 保留某些位
按位或运算符() ●运算规则:参加运算的两个数据中,只 要有一个为1则结果为1 用途 将某些位置1
按位或运算符(|) ⚫ 运算规则:参加运算的两个数据中,只 要有一个为1 则结果为 1 ⚫ 用途 • 将某些位置1
异或运算符(^) ●运算规则:参加运算的两个数据中,如果 相应的两位不同则结果为1,相同则为0 ●用途 使特定的位翻转(与1相异或) 与0相异或,保留原值 交换两个值,不用临时变量
异或运算符(^) ⚫ 运算规则:参加运算的两个数据中,如果 相应的两位不同则结果为1,相同则为0 ⚫ 用途 • 使特定的位翻转(与1相异或) • 与0相异或,保留原值 • 交换两个值,不用临时变量
左移运算符(<<) ●运算规则:高位左移后溢出,舍弃,右 补0 ●用途 将一个数左移1位,相当于将该数乘以2
左移运算符(<<) ⚫ 运算规则:高位左移后溢出,舍弃,右 补0 ⚫ 用途 • 将一个数左移1位,相当于将该数乘以2