#include<stdio.h>
// ~ 按二进制取位
int main()
{int a=10;
int b=~a; /* ~ 按二进制取位 如 101--~ =010*/
printf("%d\n%d\n",a,b); /* 运行 a=10 b=-11
在二进制里的最高位表示符号位,0为正 1为负 (3=000…………011)
源码 反码 补码
负数在储存的时候储存的是二进制的补码,而打印的是源码
补码=反码-1 反码=源码(最高位不变,其他按二进制取位)
b(补码=111…………10101) 反码=111…………10100 源码=100…………01011=-11 */
//前置++与后置++
int c=10;
int d=++c; //前置++ 先++ 再使用c的值
printf("%d\n%d\n",c,d); //运行结果 11 11
int e=c++; //后置++ 先使用c的值 再++
printf("%d\n%d\n",c,d); //运行结果 12 11
//(类型) 强制转化类型
int f=3.14; //f为double型
int g=(int)3.14; // (类型) 强制类型转换 f为int型
/*关系操作符
>= <= > < ==(用于测试相等) !=(用于测试不相等) */
//逻辑操作符
int h=3;
int i=5;
int j=h&&i; // &&与 ||或
printf("%d\n",j); /* 0 1 1
1 0 1
II II II
假 假 真
j=1 */
return 0;
}
C语言学习-- ~ 按二进制取位 前置后置++ 关系操作符 逻辑操作符
标签:11,二进制,--,取位,++,int,操作符
From: https://www.cnblogs.com/ips9999/p/17723447.html