c ++的整数和浮点数类型简单说

(最近在看书中 想分享自己看的或者自己理解的)

c++中整数类型有 char ,short(short int) ,int ,long(long int),long long(long long int)

学过代码的都知道,可能char有点陌生,因为用的最多的是表示字符的。其实这些都有特性,就是都是有有符号无符号的两种

signed char 表示的范围为-127-127(有符号) 其实signed用在其他的类型是可以省略的 ,但char 不行,如果不加就是表示字符

unsigned  char 表示范围0-255(无符号)

这时候可以看是有符号和无符号的区别了,虽然范围的跨度一样但当一个变量不能为负数时,用无符号的好点,因为其范围大,且占的内存和有符号的一样。

short 至少16位(bit 8bit等于一字节就是1byte(bit是计算机内存的基本单位) 2byte

表示范围为 -32768-32767(无符号的自己可以推演)就是有符号的最大正数剩2+1;

int 至少和short一样长 (这句话的意思 就是两个的值的范围就是short是int的子集)4byte

long (至少32为,且至少和int一样长) 4byte

long long(至少64位,且至少和long一样长)8byte

(int 被称为计算机中最为自然的长度,自然长度就是计算机处理效率最高的的长度) 其实如果没什么特别需求尽量用int ,如果有处理大量的整形数组,就用short,减少内存消耗。

其实在使用这些类型的时候要考虑最合适的,小程序可能不会带来什么太多的影响,当一个程序太大时就得注意了,1秒和1.1秒其实差很多的。所以要养成。

然后就是浮点型了 一般就三种 float ,double,  long double;

这三种区别于范围,和精确度的问题

float 只保留6位有效数字(至少32bit,通常来说就是32位,4byte)

double只保留15位有效数字(至少348bit,且不少于float。通常来说就是64位,8byte)

long  double只保留18位有效数字(至少和long一样大。通常来说就是128位,16byte)

如果不是为了保证精确度尽量用float,因为double,long double 会消耗内存,float的范围也足够表示生活中现有的数。

(推荐学c++看 Primer Plus c++)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值