以下内容都是对C++环境下的总结。
ascii码值:第一个b7做为校验位,剩下b6……b0作为编码用,所以标准的ascii码值从0到127.分别代表不同的意义。不再赘述。
char 类型:占一个字节,因为一个字节足以将所有字符表示完。
int 类型:32位机器的int类型占4个字节。默认是有符号的,取值从-2147483648到2147483647,至于这个是怎么得来的。稍作分析如下:计算机用二进制补码来表示数据,那么对于正数部分来说,第一位符号位为0,则最大数为0x7FFFFFFF,即2147483647。补码只有一个零,即0x00000000。对于负数部分来说,没有负零了,则把0x80000000作为最左负数的补码,翻译成原码数据就是-2147483648。 换句话说四个字节(32位)的Int类型范围就是 -2^31……2^31 - 1。
unsigned int:顾名思义,无符号正数,没有符号位,也没有了负数,取值范围:0x00000000……0xFFFFFFFF, 即0^4294967295。
对于short int 和long int,其实原理和int一样,只是占得字节数不一样,从上个世纪发展来,硬件变化大,不同时代他们占的字节数不一样。只要掌握原理就可以了。
对于浮点类型我已经在浮点数比较的文章中介绍过了。