C++中short、int、long、float、double的取值范围及溢出判断 | 您所在的位置:网站首页 › short可数吗 › C++中short、int、long、float、double的取值范围及溢出判断 |
C \ C++中整型数据都是有数据范围的,对溢出的数据处理机制一般是数据值和数据范围值进行求模处理,求模可以这么理解,数据描述是一个数据描述范围最小值到最大值的一个闭环循环,求模后的值会仍在这个闭环范围内,例如钟表,可用1~12来一个闭环来描述,13则就是从新回到1(13 % 12)。 在C\C++中,一个整型数据val,其当前类型下的描述值可用如下公式计算: 描述值 = (val - 当前类型最小值) % 数据范围 + (当前类型最小值) 这个计算对于数据溢出和不溢出都是适用的。 (1)short int数据类型 short数据占用2个字节,则数据范围为-32768~32767,共计65536个数,则一个short val,其实际描述值realVal为 realVal = (val - (-32768)) % 65536 + (-32768) 一、基本数据类型的特点,位数,最大值和最小值。 1、 基本类型:short 二进制位数:16 (2字节) 最小值:Short.MIN_VALUE=-32768 (-2的15此方) 最大值:Short.MAX_VALUE=32767 (2的15次方-1) 2、 基本类型:int 二进制位数:32(4字节) 最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方) 最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1) 3、 基本类型:long 二进制位数:64(8字节) 最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方) 最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1) 4、 基本类型:float 二进制位数:32(4字节) 最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方) 最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1) 5、 基本类型:double 二进制位数:64(8字节) 最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方) 最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1) 基本类型字节数位数最大值最小值byte1byte8bit2^7 - 1-2^7short2byte16bit2^15 - 1-2^15int4byte32bit2^31 - 1-2^31long8byte64bit2^63 - 1-2^63float4byte32bit3.4028235E381.4E - 45double8byte64bit1.7976931348623157E3084.9E - 324char2byte16bit2^16 - 10 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |