C语言40 位运算指二进制位的运算 ·位运算符和位运算 运算符含义运算符含义 &按位与 取反 按位或 左移 按位异或 右移
C语言40 • 位运算符和位运算 运算符 含义 运算符 含义 & 按位与 ~ 取反 | 按位或 > 右移 位运算指二进制位的运算
C语言40 说明: 1.位运算符中~为单目运算符 2.运算量只能是整型或字符型的 数据,不能为实型数据
C语言40 • 说明: 1. 位运算符中~为单目运算符 2. 运算量只能是整型或字符型的 数据,不能为实型数据.
C语言40 按位与运算符(&) 运算规则 080=0:081=0:180=0:181=1 例:382=? 3882=? 3=00000011 (&) 00000010 00000010 结果
C语言40 按位与运算符 (&) • 运算规则 0&0=0; 0&1=0; 1&0=0; 1&1=1 例:3&2=? 问:3&&2=? 3= 00000011 (&) 2= 00000010 00000010 结果
C语言40 按位与的特殊用途 1清零 原来的数为1的位,新数中相应位为0 00101011 11011101 810010100800000000 00000000 00000000
C语言40 按位与的特殊用途 1.清零 原来的数为1的位,新数中相应位为0 00101011 11011101 & 10010100 & 00000000 00000000 00000000
C语言40 2取一个数的指定位 例:026254=(0010110010101100)2 分别取其低字节和高字节数据 0010110010101100 80000000011111111 0000000010101100 关键数字0377,0177400 3保留任意位
C语言40 2.取一个数的指定位 例:026254=(0010110010101100)2 分别取其低字节和高字节数据 0010110010101100 &0000000011111111 0000000010101100 • 关键数字0377 , 0177400 3.保留任意位
C语言40 按位或运算 ·运算规贝 00=0;01=1;10=1;11=1 思考 060017=077060017=?
C语言40 按位或运算 (|) • 运算规则 0|0=0; 0|1=1; 1|0=1; 1|1=1 思考: 060|017=077 060||017=?
C语言40 “异或”运算(∧) 运算规则:参加运算的两个二进制数的相 应位值不同则取1,反之相同则取0 ·例:使特定位翻转(低4位翻转) 0172A017=0165 01111010 ∧00001111 01110101
C语言40 “异或”运算 (∧) • 运算规则:参加运算的两个二进制数的相 应位值不同则取1,反之相同则取0 • 例:使特定位翻转(低4位翻转) 0172 ∧017=0165 01111010 ∧ 00001111 01110101