按二进制位数算出来的,比如8位的变量,取值范围为2的八次方,0到128,如果是有符号的就是负64到正64,如果是16位的,取值范围是2的16次方,0到65536,如果是有符号的,从负32768到正32768依次类推,2的32次方,等等。
对于每个数据类型,系统分配给他固定大小的内存。
例如 int 型变量,系统固定分配给它4个字节的内存,1个字节是8位,也就是一个int型变量的取值范围是 2的32次方这么大。
关键是看你定义的变量是什么类型的
char 的是8位 也就是0-255
有符号的char 也是8位 -127-+127
int 是16位 0-65535
==
float型和整型、字符的保存方式是不一样的
整型和字符型 是按照二进制位整数的方式保存的
而浮点型保存的时候 分别保存的是 尾数 和指数 以及尾数和指数的符号位 所以float型分配的4个字节中有2个符号位 其他的数据位 分配给尾数和指数了 而不保留底数
尾数是按照科学计数法表示规范化形式
比如16位 ;有正负的; 就是2的-15次方 到 (2的15次方)-1 ;因为有0