求32位浮点所能表示的最大正数值,最小负数值,和最小绝对值怎么算
IEEE754binaryfloatingpointrepresentation之下,32位floatpointnumber,最左边一位(bit31)表示符号(正负),接下来8位(bit30-23)表示指数,剩下23位(bit22-0)表示数值(比较复杂,具体见公式)。
(-1)^s×(1+m/2^23)×2^(e-127)
s是第一位,e是8位指数,m是数值。
可表示的范围是±1.40129846432481707e-45to±3.40282346638528860e+38。
对32位的计算机:
最大正数:2^32-1
最小正数:1/(2^32-1)
最大负数:-1/(2^32-1)
最小负数:-(2^32-1)。
扩展资料
浮点数取整方法
1.直接赋值给整数变量。
如:
inti=2.5;或i=(int)2.5;
是x的整数部分。
2.使用floor函数。
floor(x)返回的是小于x的最大整数部分。
如:
floor(2.5)=2
floor(-2.5)=-3
floor()是向负无穷大舍入,floor(-10.5)==-11;
3.使用ceil函数。
ceil(x)返回的是大于x的最小整数。
如:
ceil(2.5)=3
ceil(-2.5)=-2
ceil()是向正无穷大舍入,ceil(-10.5)==-10
4.求余数%,fmod函数。
8%3=2。适用于整数
fmod(8.1,3)=2.1。适用于浮点数
5.fix
朝零方向取整,如fix(-1.3)=-1;fix(1.3)=1;
6.round
四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。
2017-07-16 · 知道合伙人教育行家
它所能表示的最大正数、最小规格化正数、绝对值最大负数是多少?
最大正数= (1 - 2^(- 7) ) × 2^(2^(3) - 1) = (1 - 2^(- 7 )) × 2^(7) = 127 。
最小规格化正数= 2^- 1 × 2 ^(- 2^(3)) = 2 - 1 × 2^ (- 8 )= 2^ (- 9) = 1/
512 。
绝对值最大的负数= - 1 × 2^(2^3 - 1) = - 1 × 2^7 = - 128 。