赋值运算符
#include <stdio.h>
//赋值运算符本质
//+=
//-=
//*=
///-
//%=
//本质:先算表达式右边的在将左边的值以及符号移动到右边进行计算
//例如: int a = 10;
// a += 100 + 200 + 300 ----> a = a + (100 + 200 + 300)
// a *= 100 + 200 + 300 ----> a = a * (100 + 200 + 300)
int main()
{
int a = 10;
a *= 100 + 200 + 300; // a = a * 100 + 200 + 300 X错误
//1500 VS 6000
//实际是: a = a * (100 + 200 + 300)
printf("a = %d\n",a);
return 0;
}
比较预算符
比较运算符 == , != , < , > , <= , >=
“真”用数字“1”来表示, “假”用数字“0”来表示。
位运算符
int main()
{
//双目运算符 10 >> 4 -------- 表示10的二进制向右移动4位
//0000 1010 >> 4 -------- 0000 0000
//左移<<:每个位向左移动,全部补0
//右移>>:每个位向右移动,右移动正数补0,负数补1
//printf(" >> %x\n",-10 >> 1); //1111 0110
//printf(" >> %d\n",-10 >> 1); //1111 0110
// 0000 1010
char num_char = -128;
printf("%x\n",num_char);
num_char = num_char << 1;
printf(" << %x\n",num_char); //0001 0100 == 0x14
printf(" << %d\n",num_char); //0001 0100 == 20
return 0;
}
#include<stdio.h>
int main()
{
char num = -10;
for(int i = 7;i >=0 ;i--)
{
printf("%d",(num >> i) & 0x01 );
}
return 0;
}