float类型的精度究竟是多少

zjtzlqr zjtzlqr 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
float类型是32位的
符号位(Sign) : 0代表正,1代表为负
指数位(Exponent):用于存储科学计数法中的指数数据,并且采用移位存储
尾数部分(Mantissa):尾数部分
其中指数位为8位,符号位为1位,尾数位为23位。

科学计数法存储的float类型第一位肯定是1,因此有效的位数为24位。
2的25次方-1为33554431;
也就是说其实float存储的数据如果是整数的话那么存储精度范围为0-33554431;

但是为什么
#include "stdio.h"
int main(void)
{
float a;
a=33554431;
}


这个程序在调试的时候,明明给a赋的值是33554431,可是编译器显示的数据确实a的值为33554432
...全文

相关推荐

c语言double类型默认输出小数几位

C语言中常用的小数有两种类型,分别是 float 或 double;float 称为单精度浮点型,double 称为双精度浮点型。不像整数,小数没有那么多幺蛾子,小数的长度是固定的,float 始终占用4个字节,double 始终占用8个字节。 c语言double类型默认输出几位小数? C语言中,输出double类型(双精度实型)以及float类型(单精度实型)时,默认输出6位小数(不足六位以 0 补齐,超过六位按四舍五入截断)。 double a = 1; printf("%lf\n", a); 输出会是: 1.000000 但是有时六位会显得很长,没必要。比如计算平均分,一到两位小数

weixin_38705252

MySQL数据类型详解[项目源码]

本文详细介绍了MySQL中的各种数据类型,包括整数类型(如TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT)、浮点数和定点数类型(如FLOAT、DOUBLE、DECIMAL)、字符串类型(如CHAR、VARCHAR、TEXT)、二进制类型(如BLOB)以及特殊类型(如ENUM、SET)。每种数据类型都详细说明了其存储大小、数值范围、定义方式和使用场景,帮助开发者根据实际需求选择合适的数据类型,以优化存储空间和性能。此外,文章还对比了不同类型之间的区别,如CHAR与VARCHAR、FLOAT与DECIMAL等,为数据库设计提供了实用的参考。

tensorflowjs6

java之java类型转换

java类型转换,是java很基础的一部分,但很多时候偏偏就会在这样的基础细节部分出错,希望能对大家有帮助。

只带皮箱流浪

在C语言中,double类型默认显示几位小数

根据原作 https://pan.quark.cn/s/a0b2e2b9e553 的源码改编 用以说明 provider定义为Float类型实际返回Double类型

dashi00258

C语言复习题1._练习(数据类型和表达式).doc

我还有其他单元的复习题,私聊就可私发

你好!包包
评论 16
收藏 已收藏
分享
返回顶部
zjtzlqr
C语言 70,040 成员 243,237 内容