一进制转换
OCT - 八进制
DEC - 十进制
HEX - 十六进制
0520,表示八进制
0x520表示16进制
unsigned 无符号,只有正的
signed 有正有负数
char默认是signed 类型
#include <stdio.h>
int main(void)
{
//字符转换成数字
char a = '5';
int a1 = a- 48;
printf("%d\n",a1);
//小写转换成大写
char samll_a = 'a';
char big = samll_a -(97 - 65);
printf("%c\n",big);
return 0;
}
二进制
short是2个字节,char是一个字节
二进制一定是和数据类型密切相关的,抛开数据类型谈进制转换没有意义
无符号类型不管前面是1还是0都是正数
10101010 - short - 是16个字节,如果前8个全是0就可以省略,此时看正负看的是后面8个字节的第一个数,这里是1表示是负数
- 16bit
00000000 10101010
16自己的数据复制给8字节,前8个字节数据会丢失
01111111 11111111 - char - 将该数据赋值给char类型变量 - 负数
二进制与十进制之间的相互转换
(a) 非负的情况
(b) 负的情况
二进制与八进制之间的相互转换
二进制与十六进制之间的相互转换
二进制在内存中的存储形式
一个字节是8Bit,0x12345678是一个16进制的数据,每一个数对应一4个bit
运算符
自增运算
取地址和解引用运算
位运算
做位运算的前提是一定要先转换成二进制
位移
要注意是什么数据类型
打印数据的时候,注意数据正负,负数的时候打印要进行一下区分