我想转换指数编号5.52794e + 15。如何将指数格式转换为c中的十进制格式
0
A
回答
2
它不适合在int
,但long long
会做:
long long x = 5.52794e+15;
2
替代:你想打印它作为一个整数。
double d = 5.52794e+15;
printf("%15.0lf\n",d);
给出:
5527940000000000
-1
长长×= 5.52794e + 15; 其中指数“15”必须是整数,系数5.52794是任何实数,甚至可以是整数。 尾数的最大值刚好超过32,000,000任何高于此的值都将被截断。 如果你有一个运行总数,并且以小的值加入并保持精确的总数,这就变得很重要。 - 例如,您添加的值不是整数时的用电量。
+0
虽然我没有给你降低成绩,但我并不感到惊讶你害怕,我不明白你在哪里得到尾数限制在3200万的想法;它对于一个4字节的浮点值是有意义的,但5.52794e + 15是双倍的,而且你通常会得到比32M评论暗示的更多的精度数字。关于保持总计值是双重担心的想法,但与这个特定上下文无关。 – 2009-12-22 20:29:35
1
除了使用long long,您还可以:
使用压缩的十进制库。
您可以在标准int或long中使用对数(或几何等)缩放。
使用int结构,表示有效数和指数,并手动(或使用一个好的库)进行浮点数学运算。
我已经使用了所有三种方法,它们都有其起伏。 Packed Decimal最慢也最准确。对数缩放是迄今为止最快和最容易实现的,并且最不准确。通过整数重现浮点数在性能之间,精确度与“实际”浮点数基本相同,最难实现。
所有3个比使用浮点硬件慢 - 假设你的硬件有浮点!
相关问题
- 1. 将十进制转换为特定格式的十进制数?
- 2. 将十六进制数转换为十进制格式
- 3. 如何将十六进制转换为0X ...字节格式(C#)
- 4. 在Ruby中将十进制转换为价格格式
- 5. 将汇编指令转换为十六进制格式?
- 6. 将大时间格式转换为Excel中的十进制数
- 7. 在Excel中将标准数字格式转换为十进制格式
- 8. 将时间格式转换为Pandas中有十进制数
- 9. 如何将RGBA css颜色格式转换为十六进制格式
- 10. 如何将纬度从十进制度转换为DMS格式?
- 11. 将十进制数转换为十六进制(一个字节的格式)
- 12. 十进制转换为二进制格式转换
- 13. 如何将c中保存十六进制数字的字符串转换为十六进制格式?
- 14. 如何将C++数字格式转换为C#数字格式?
- 15. 将文本框中的文本转换为十进制格式
- 16. 将整数十六进制格式转换为字符串
- 17. 将十进制数转换为印度货币格式
- 18. 如何将字节数组转换为Java中的十六进制格式
- 19. 转换浮到十六进制格式
- 20. DataGrid十进制格式转换器
- 21. 在SQl服务器中将十进制转换为HH.MM格式
- 22. 十进制格式在C#
- 23. c#textbox十进制格式
- 24. 如何停止将rgba格式转换为十六进制格式的指南针
- 25. 如何在Java(Android Studio)中将整数转换为十进制格式?
- 26. 将int转换为十六进制格式的字符串
- 27. 将格式化的mac地址转换为十六进制值
- 28. 将DMS latlong转换为十进制格式的FileMaker计算
- 29. 如何将CSV中的lat long转换为pig中的十进制格式?
- 30. 转换的十进制数为十六进制在Perl在特定格式
我将它转换为“int no。”,没有发生任何有趣的事情。 :-( – 2009-12-22 16:39:42
换句话说,请提出一个问题,并提出一些有意义的问题,同时告诉我们你想做什么以及为什么。 – 2009-12-22 16:40:15