C语言学习-- ~ 按二进制取位 前置后置++ 关系操作符 逻辑操作符

发布时间 2023-09-22 21:46:29作者: 迷途小石头
#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语言学习-- ~ 按二进制取位 前置后置++ 关系操作符 逻辑操作符