1.数据类型和变量:
数据是放在内存中的,明确三件事:数据存储在哪里、数据的长度以及数据的处理方式
int n;数据类型指明了数据的长度和处理方式,变量名指明了数据存储在哪里
2.数据长度:是指数据占用多少个字节,数据类型指明了数据长度
基本类型占用的字节数:char 1,short 2,int 4,long 4,float 4,double 8
3.整数的长度,C语言并没有严格规定 short、int、long 所占用的字节数,只做了宽泛的限制:
short 至少占用2个字节。
int 建议为一个机器字长。32位环境下机器字长为4字节,64位环境下机器字长为8字节。
short 的长度不能大于 int,long 的长度不能小于 int。
4.整数的正负数:
int是4个字节占用32位内存,第31位表示符号,0是正数,1是负数;如果不希望设置符号位,可以在数据类型前面加 unsigned
如果不考虑正负数,当所有的位都为1时它的值最大,为 2的32次方-1 = 4,294,967,295 ≈ 43亿
计算:111:2的3次方-1 101:2的2次方+2的0次方 10:2的1次方+2的0次方
5.在内存中,数值一律采用补码表示
原码:一个整数转成二进制;反码:正数的反码就是其原码;负数的反码是将原码中除符号位以外的每一位取反;
补码:正数的补码就是其原码;负数的补码是其反码加1。
6.char 变量在内存中存储的是字符对应的 ASCII 码值。
ASCII 码表将整数和字符关联起来了,char是1个字节,最前面一位规定是0,因此0-127个
7.Unicode编码
汉字怎么表示,日语韩语拉丁语怎么表示,Unicode 是一个很大的集合,现在的规模可以容纳100多万个符号,每个符号的对应的二进制都不一样