【程序51】 题目:学习使用按位与 & 。 1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1 2.程序源代码: #include "stdio.h" main() { int a, b; a = 077; b = a & 3; PRintf("/40: The a & b(decimal) is %d /n", b); b &= 7; printf("/40: The a & b(decimal) is %d /n", b); }
【程序52】 题目:学习使用按位或 。 1.程序分析:00=0; 01=1; 10=1; 11=1 2.程序源代码: #include "stdio.h" /* 欢迎访问 C++Builder研究 - www.ccrun.com */ main() { int a, b; a = 077; b = a 3; printf("/40: The a & b(decimal) is %d /n", b); b = 7; printf("/40: The a & b(decimal) is %d /n", b); }
【程序53】 题目:学习使用按位异或 ^ 。 1.程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0 2.程序源代码: #include "stdio.h" main() { int a, b; a = 077; b = a ^ 3; printf("/40: The a & b(decimal) is %d /n", b); b ^= 7; printf("/40: The a & b(decimal) is %d /n", b); }
【程序54】 题目:取一个整数a从右端开始的4~7位。 程序分析:可以这样考虑: (1)先使a右移4位。 (2)设置一个低4位全为1, 其余全为0的数。可用~(~0<<4) (3)将上面二者进行&运算。 2.程序源代码: main() { unsigned a, b, c, d; scanf("%o", &a); b = a >> 4; c = ~(~0 << 4); d = b & c; printf("%o/n%o/n", a, d); }
【程序55】 题目:学习使用按位取反~。 1.程序分析:~0=1; ~1=0; 2.程序源代码: #include "stdio.h" /* 63 63 72 75 6E 2E 63 6F 6D */ main() { int a, b; a = 234; b = ~a; printf("/40: The a's 1 complement(decimal) is %d /n", b); a = ~a;
printf("/40: The a's 1 complement(hexidecimal) is %x /n", a); }