请问C语言中1.23e-2中的1.23、e、-2分别都是什么意思? 为什么浮点型数据要分成小数部分和指数部分?
3个回答
展开全部
在C语言里1.23 * 10^-2 意思是科学计数法的表示方法。
科学记数法是把一个数表示成a与10的n次幂相乘的形式(1≤|a|<10,n为整数),当要标记或运算某个较大或较小且位数较多时,用科学记数法免去浪费很多空间和时间。
浮点型数据表示小数小数点位置的不确定性,用这样的方式存储可以节省存储空间,例:比如定点小数0.000000001有太多位置存储0,并且可以表示的数据范围也会更大,精度相对也更高。
扩展资料
科学计数法的好处
1、科学计数法标记或运算某个较大或较小且位数较多时,用科学记数法免去浪费很多空间和时间。
2、用科学记数法表示数时,不改变数的符号,只是改变数的书写形式而已,可以方便的表示日常生活中遇到的一些极大或极小的数。
3、运用科学记数法a×10^n的数字,它的精确度以a的最后一个数在原数中的数位为准。
参考资料来源:百度百科—科学计数法
参考资料来源:百度百科—浮点数
展开全部
1.23e-2 = 1.23 * 10^-2 科学计数法表示方法。
浮点型数据表示小数小数点位置不确定,以这样的方式存储可以节省存储空间(比如定点小数0.000000001有太多位置存储0),而且可以表示的数据范围也会更大,精度相对也更高。这个其实和C无关,看下计算机组成原理就能明白。
但是,这不代表你在C里面赋值的时候一定要这么写,写正常的小数也是没有问题的,C没有强制要求浮点数必须按照这样的方式赋值。
浮点型数据表示小数小数点位置不确定,以这样的方式存储可以节省存储空间(比如定点小数0.000000001有太多位置存储0),而且可以表示的数据范围也会更大,精度相对也更高。这个其实和C无关,看下计算机组成原理就能明白。
但是,这不代表你在C里面赋值的时候一定要这么写,写正常的小数也是没有问题的,C没有强制要求浮点数必须按照这样的方式赋值。
更多追问追答
追问
谢谢,也就是它的根本是科学计数法可以用稍简洁的方式保存大数据?那请问1.23e-2是怎么保存在内存里的呢?(是1.23在一个存储单元,-2在一个存储单元?那e呢,要怎么样表示?)
追答
整数部分 小数部分 指数部分,e表示它干嘛呢。。。分开两段不就自然表示了么
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
书上都有的说的吧?楼主你这样问以后一直都要这样问么?学编程你连思考都不会以后怎么办?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询