计算机编程中几种数据类型

INT型:

在一般的电脑中,int字占用4字节,32比特,数据范围为-21474836482147483647[-2^312^31-1]

int字分为有符号与无符号两种:

1、有符号记为int型,其中还包括short、long等也可以表达整型,有符号int型的存储形式为补码形式。

2、无符号记为unsigned int型,数据范围为[0~2^32-1]

当将int型与unsigned int型的混合数据一起计算的时候,最终结果会返回unsigned int 型,机器会将补码形式的int型数据当作源码与unsigned int型的源码一同计算。

移位操作:

因为数据存储在机器中为二进制形式,因此当左移位时,符号位不变,除符号位以外最高位舍弃,其余位依次向高位移一位,最低位补0,因为二进制一位位权为2^n,因此相当于将原数乘以了2。

同理,当右移位时,符号位不变,最低位舍弃,其余位依次向低位移一位,除符号位以外最高位补0,相当于将原数除以了2。

溢出:

对于32位系统,最大值为2^32-1,溢出后会对将得数减去最大值后输出。

FLOAT/DOUBLE型:

浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位二进制指数和一个 23 位尾数。

浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。

其中,数符占 1 位,表示数的正负。指数符占 1 位,表示指数的正负。尾数表示浮点数有效数字,0.xxxxxxx, 占八位。指数存指数的有效数字。指数占多少位,尾数占多少位,由计算机系统决定。

float与double的区别主要是位数不同,double类型与float类型表示方式基本一样,只不过从32位变成了64位

一般,float的指数位为8位,尾数位为23位。double的指数位为11位,尾数位为53位。

当计算时,有float型和double型混合运算时,浮点数都会转换成double型去计算,结果也会保存为double型

溢出:

小于最小负数,大于最大正数的区间,和小于最大复数,大于最小正数的区间,视为溢出。

CHAR型:

字符是以整型对应的ASCII码存储的,在计算时不加引号会以对应的ASCII转化为int型计算。

你可能感兴趣的:(计算机编程中几种数据类型)