1.检测整数的奇偶性 在这个例子中,我们使用位运算符&来检测一个整数的奇偶性。如果整数与1进行位与运算后的结果为1,则说明该整数是奇数;否则,它是偶数。2.交换两个变量的值 这个例子展示了使用位异或运算符^来交换两个变量的值,而无需使用临时变量。通过多次异或操作,两个变量的值会互相交换。3.判断一个...
c语言源代码: #include <stdio.h> main() { inta=84; intb = 59; printf("%d",a&b); } 2、“按位或”运算符(|) 两个相应的二进制位中只要有一个为1,该位的结果值为1。借用逻辑学中或运算的话来说就是,一真为真 。 例如:60(8)|17(8),将八进制60与八进制17进行按位或运算。 00110000 ...
通过下面表格的方式,说明不同二进制位表示不同的权限。 以上代码中,用4个常量表示每个二进制位代码的权限。 flag 删除 修改 新增 查询1(0001)0001只允许查询(即等于ALLOW_SELECT)2(0010)0010只允许新增(即等于ALLOW_INSERT)4(0100)0100只允许修改(即等于ALLOW_UPDATE)8(1000)1000只允许删除(即等于ALLOW_DELETE)...
初始:a=5,b=10第一步:a = 5 ^ 10,此时a为15,b不变第二步:b = 15 ^ 10,此时b为5,a为15第三步:a = 15 ^ 5,此时a为10,b为5交换完成:a=10,b=5 这些例子展示了位运算的高级应用,利用了位运算的性质进行一些复杂的计算。它们在一些特定场景下可以提高代码的效率和性能。
c语言代码: #include <stdio.h> main() { int a=3; int b = 5; printf("%d",a&b); } 按位与的用途: (1)清零 若想对一个存储单元清零,即使其全部二进制位为0,只要找一个二进制数,其中各个位符合一下条件: 原来的数中为1的位,新数中相应位为0。然后使二者进行&运算,即可达到清零目的。
代码如下(示例): int add(int a, int b) { //加法int res = 0;int x = a ^ b; //加法int y = a & b; //进制while (y != 0) { //进制不为0的时候,我们就继续y = y << 1; //左移一位,进位res = x ^ y; //进位加上异或后的值int temp = x; //储存异或之后的值x = x...
当涉及到C语言中的位运算时,以下是8个常见的案例,展示了位运算在实际编程中的经典应用。 1.检测整数的奇偶性 #include <stdio.h> int main() { int num = 17; if (num & 1) { printf("%d is an odd number\n", num); } else { printf("%d is an even number\n", num); ...
c语言源代码: #include <stdio.h> main() { int a=060; int b = 017; printf("%d",a|b); } 应用:按位或运算常用来对一个数据的某些位定值为1。例如:如果想使一个数a的低4位改为1,则只需要将a与17(8)进行按位或运算即可。 3、“异或”运算符(^) 他的规则是:若参加运算的两个二进制位值...
下面的代码包扩了这些基本运算,还有一个两个数的交换(不用第三个数)。 #include<stdio.h> #include<stdlib.h> //print a int in binary void bit_print(int a) { int i; int n=16; int mask = 1 << (n-1); for(i = 1; i <= n; ++i) ...
第一步:a = 5 ^ 10,此时a为15,b不变 第二步:b = 15 ^ 10,此时b为5,a为15 第三步:a = 15 ^ 5,此时a为10,b为5 交换完成:a=10,b=5 这些例子展示了位运算的高级应用,利用了位运算的性质进行一些复杂的计算。它们在一些特定场景下可以提高代码的效率和性能。