本文主要介绍了C#中float的取值范围和精度,详细分析了float的取值范围、表示方法和精度等概念,有助于深入理解C#的数据类型,有需要的朋友可以参考一下。
本文结合实例分析了C#中float的取值范围和精度。分享给你,供你参考。具体分析如下:
float类型的表现形式:
默认情况下,赋值运算符右侧的实数被视为双精度数。因此,浮点变量应该用后缀f或f初始化,如下例所示:
浮动x=3.5F
如果在上面的语句中没有使用后缀,就会出现编译错误,因为您试图在float变量中存储一个double值。
float的取值范围
Float占用4个字节,和int一样,也就是32bit。
1位(符号位)8位(指数位)23位(尾数位)
存储方式如下图:
取值范围基本表达法
(浮点)数值=尾数底数指数,(加号)-。
于是,float的指数范围是-127~128,double的指数范围是-1023~1024,指数位以补码的形式划分。其中,负指数决定了浮点数所能表示的最小绝对值;正指数决定了浮点数的最大绝对值,即浮点数的范围。
浮动范围为-2 128 ~ 2 128,即-3.40 e38 ~ 3.40 e38;double的取值范围是-2 1024 ~ 2 1024,即-1.79E 308 ~ 1.79E 308。
其他特殊表示
1.当指数部分和小数部分都是0时,它表示0,它可以分为0和-0(由符号位决定),0x00000000表示正0,0x800000表示负0。2.当指数部分全为1,小数部分全为0时,表示无穷大,有正无穷大和负无穷大,0x7f800000表示正无穷大,0xff800000。
结论:可以看出浮点数的取值范围是:2 (-149) ~ (2-2 (-23)) * 2 127,即Float。最小值和浮点值。MAX_VALUE。
精度
float和double的精度由尾数的位数决定。浮点数按照科学的计数方法存储在内存中,浮点数的整数部分始终是一个隐含的“1”。因为是常数,所以不能影响精度。
Float:2^23=8388608,共七位,也就是说最多可以有七位有效位,但绝对保证是六位,即Float的精度是6~7位有效位;
希望这篇文章对大家的C#编程有所帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。