[C语言] 变量和数据类型和整数和字符

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多万个符号,每个符号的对应的二进制都不一样

原文地址:https://www.cnblogs.com/taoshihan/p/8351761.html