4、赋值运算符 注:第三行 C-=A 应该是相当于 C=C-A,另第二行 多了一个 x 感谢@文某风中编程的提醒 5、位运算符 注:左移运算符左移一位相当于乘二,其效率比乘以2的效率高。左移其右边自动补零,右移其左边补符号位 5、其他运算符 6、补充 求字节数运算符:sizeof 强制类型转换运算符:(类型) 下标运算符:[ ] 函数调用运
位运算就是对字节或字内的二进制数位进行测试、抽取、设置或移位等操作。其操作对象不能是float、double、long double等其他数据类型,只能是char和int类型。 C语言提供如下表格的六种位运算符,其中,只有按位取反运算符为单目运算符,其他运算符都是双目运算符。 总概 位运算符 补充:单目运算符:只对一个操作数进...
intdoubled = num <<1;// 10 inthalved = num >>1;// 2 总之,位运算在 C 语言中是一种强大的工具,可以用于优化代码、处理特定的数据格式和实现一些特定的算法。但在使用位运算时,需要小心处理边界情况和确保代码的可读性。
(最低位为第1位) intgetBinary(intn,intk){returnn>>(k-1)&1; }
二、位运算 2.1 位运算符 按位取反 ~,对每个二进制位进行取反,0变1,1变0 位与&,同真为真,其余为假 位或|,同假为假,其余为真 位异或 ^,相同为假,不同为真 //1. 按位取反 ~voidtest01(){intnumber=2;printf("~number : %d\n",~number);intnum=-2;printf("%d\n",~num);}//...
int a=10; a<<3;右移:要注意 符号位 算术右移: 空出来的位 补符号位 >考虑符号位 逻辑右移: 空出来的位 补0 --->单纯的数值运算位运算: -->所有的运算都针对 二进制bit位 1>位与:& 解释: 表达式1 & 表达式2 ==>双方转化为二进制,按位对比,相同位上都为1,结果为1 例如: short a=...
1. 使用位运算实现快速交换两个变量的值传统的交换两个变量的值的方法是使用一个临时变量,如下所示:```cint a = 1;int b = 2;int temp = a;a = b;b = temp;```这种方法需要进行三次赋值操作。然而,使用位运算可以实现更快速的交换,只需要一次操作:```ca = a ^ b;b = a ^ b;a = a ...
int a = 5; // 二进制表示:0101 int b = 3; // 二进制表示:0011 int result = a & b; // 结果为1,因为二进制的101和0011的按位与结果是0001,也就是十进制的1 按位或(|)按位或操作也适用于每个二进制位,但如果任一二进制位为1,那么结果的相应二进制位就是1,否则是0。例如:in...
在C语言中,`int`类型用作表示整数的数据类型。它支持多种基本算术与逻辑运算,包括:加法、减法、乘法、除法运算:cint result = 10 + 5; // 加法int difference = 10 - 5; // 减法int product = 10 * 5; // 乘法int quotient = 10 / 5; // 除法 取模运算:cint remainder = 10 %...