进制
十进制转换为二进制、八进制、十进制
int a=10; //十进制
int b=010; //八进制
int c=0x10; //十六进制
int d=0b1010; //二进制
printf("%d %d %d %d",a,b,c,d); //按十进制打印
printf("%o %o %o %o",a,b,c,d); //按八进制打印
printf("%x %x %x %x",a,b,c,d); //按十六进制打印
printf("%b %b %b %b",a,b,c,d); //按二进制打印
十进制数103转换为二进制、八进制、十六进制
转二进制 (将十进制数与2^n比较,数值大于2^n则减去2^n记1,然后将余下数值与2^n-1比较;数值小于2^n则记0直接与2^n-1比较)
128 64 32 16 8 4 2 1
0 1 1 0 0 1 1 1
转八进制
0 0 1 1 0 0 1 1 1
(0 0 1)(1 0 0)(1 1 1)
1 4 7
转十六进制
0 0 1 1 0 0 1 1 1
(0 1 1 0)(0 1 1 1)
6 7
二进制数左移 每移一位,值增大2倍
int a=10; a=<<4; //向左移4位
0000 1010 10
0001 0100 20
0010 1000 40
0101 0000 80
**二进制数右移** **每移一位,值缩减1/2倍**
bool类型 非0值表示真,0表示假