C语言练习题-C语言练习题实例55
题目:学习使用按位取反 ~
。
程序分析:~0=-1
,~1=-2
。
实例
#include <stdio.h>
int main() {
int a, b;
a = 234;
b = ~a;
printf("a 的按位取反值为(十进制) %d\n", b);
a = ~a;
printf("a 的按位取反值为(十六进制) %x\n", a);
return 0;
}
以上实例输出结果为:
a 的按位取反值为(十进制) -235
a 的按位取反值为(十六进制) ffffff15
在该程序中,我们使用按位取反运算符 ~
对整数 a
进行按位取反操作。
首先,将整数 234
赋值给变量 a
。
然后,使用 ~a
对变量 a
进行按位取反操作,并将结果赋值给变量 b
。
使用 printf
函数输出变量 b
的十进制表示,即按位取反后的值。
接下来,再次对变量 a
进行按位取反操作,并将结果赋值给变量 a
本身。
最后,使用 printf
函数输出变量 a
的十六进制表示,即按位取反后的值。
通过该例子,我们可以了解按位取反运算符 ~
的使用方法,它会将操作数的每一位取反(0 变为 1,1 变为 0)。注意,在对正整数进行按位取反时,结果是一个负整数。