引言:
用计算机语言写程序是为了解决生活中的问题的。因此计算机必须有能力来对数据进行正确的描述。于是语言的数据类型的划分应运而生。
正式开始
...........................................................................................................................................................
char类型:
即是字符数据类型。是计算机中用于表示单个字符的数据类型。采用一个字节有256种状态,取值范围为-128到127(于c语言中)。
补充:
short类型:
即是短整型。采用了两个字节,取值范围是从-32768到32767,用于表示比较小的整数,面对大数字就手足无措了。
int类型:
即是整型。范围大一些。
long类型:
即是长整型。范围更大一些。
longlong类型:
即是更长的整形。范围plus更大的。
float类型:
即是单精度浮点数。简单来说就是表示小数的一种数据类型。占用4个字节,总共32位,包含了1个符号位,8个阶码【指数位】,23位的尾数【尾数位】。
补充:深度理解浮点数
结构 1 0000100 10100001000000000000000
从左向右的部分依次为 符号位 指数位 和尾数位。
在符号位上有 1表示负数 0表示正数。
而指数位和尾数位则是共同表示数的部分。
例如
(如上为二进制,不是十进制)
基本要求:1,在进行数据化转化时,必须使其位如上的最简形式。即小数点左边只有一位且只可能为1(因为是二进制)。
2,将小数点右边的数视为尾数位,如果其没有23位就在其末位补0补到23位,如果超过了23位则将其从23位后掐掉。(如上为1010000000000000000000)
3,其指数加上127的浮点偏移量为指数位。(因为指数位上的个位只可以表示从0到255,如果直接用就表示不了负数了。所以要加入127的浮点偏移量,所以有可以将-127到128的原本范围转换为0到255,满足了正负对称性的分布)
因此,如上可以转化为
9..........加上浮点偏移量........9+127=136........二进制化.............10001000
1010............补全..............10100000000000000000000
是正数....................0
输出..............01000100010100000000000000000000
double类型:
即是双精度浮点数。其实很简单,就是用了8个字节,一共32位。其中有1个符号位,11个阶码位,52个尾数位。其余的性质与float一样。