Typedef与位运算[C语言]
Typedef与位运算[C语言]
JayfarTypedef
Typedef
用typedef定义新类型名
在编程中可以用typedef来定义新的类型名来代替已有的类型名
格式:
typedef 已有类型名 新的类型名
如:
typedef int INTEGER;
以后在定义变量时int和INTEGER是等价的。
INTEGER a[10],b; int a[10],b;
Typedef 已有类型名 新的类型名;
- typedef可用于定义各种类型名,但不能定义变量。即只要见到typedef则该语句最后的标识符必定是一个类型名而不是变量名。
- typedef只能对已经存在的类型新增一个别名,而不是创造新类型。即在typedef后必须是一个已有的类型。
位运算
位运算
位运算的操作对象只能是整型或字符型数据。
- C语言提供六种位运算符:
& | ^ ~ << >>
- 复合赋值运算符
&= , |= , ^=, <<=, >>=
[ & ]: 两个相应的二进制位都是1时,它们按位运算后的结果才为1,否则为0。
1 | 1&1 = 1 |
[ | ]: 两个相应的二进制位只要有一个为1,则它们按位或运算后结果为1。
1 | 1|1 = 1 |
[ ^ ]: 当两个相应位同为1或同为0时,按位异或运算结果为0;两个相应位一个为1另一个为0时,按位异或运算结果为1.
1 | 1^1 = 0 |
[ ~ ]: 按位取反运算符是一个单目运算符。按位取反后0变1,1变0。
注:
对一个数按位取反得到的值为该数+1后再乘以-1。
[ << ]: 两个相应的二进制位都是1时,它们按位运算后的结果才为1,否则为0。
格式:数 << n
功能:将二进制位按位依序左移n位。
对一个十进制数左移n位后得到的值为该数乘以2的n次方的积。
[ >> ]: 数 >> n
功能:将二进制位按位依序右移n位
若该数为一个负数并且不能被2的n次方整除则得到的数为商加-1。
(拿到表达式先看是否合法,如果合法在进行运算)
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果