1.基本使用
#include <stdio.h>
int main(){
int num=12;
//2进制,0b开头
int num2=0b1100;
//8进制,0开头
int num3=014;
//16进制,0x开头
int num4=0xc;
printf("%d\n",num);
printf("%d\n",num2);
printf("%d\n",num3);
printf("%d\n",num4);
return 0;
}
2.printf输出格式
3.与(&)运算
任何位与上1,都是其本身,可以得到任何一个位
0011
0001
0001
0010
0001
0000
4.异或(^)运算
5.移位(<<,>>)运算
>>右移
3>>2=3/2的平方
<<左移
3<<2=3*2的平方
但是移位运算效率高
6.交换2数值
7.判断奇偶数(最后一位为1,则为奇数,最后一位为0,则为偶数)
15
1111&
0001(1)
0001(1)(得到最后一位)
8
1000&
0001(1)
0000(0)(得到最后一位)
#include <stdio.h>
int main(){
int a=4;
a&1?printf("奇数"): printf("偶数");
return 0;
}
8.10进制转为2进制
#include <stdio.h>
int main(){
void two(int);
int a=8;
two(a);
return 0;
}
void two(int a){
int temp=(sizeof(a)<<3)-1;
//利用任何一位&1都等于自己,通过循环移位运算,一次取出每一位
while(temp>=0){
int value=(a>>temp)&1;
if((temp+1)%4==0&&temp!=(sizeof(a)<<3)-1){
printf(" ");
}
temp--;
printf("%d",value);
}
printf("\n");
}