草庐IT

精度评定

全部标签

c++ - 什么是 c printf %f 默认精度?

我很好奇:如果你执行printf("%f",number);语句的精度是多少?IE。将显示多少位小数?这个编译器依赖吗? 最佳答案 ANSIC标准在第7.19.6.1节中对f格式说明符进行了说明:Iftheprecisionismissing,6digitsaregiven 关于c++-什么是cprintf%f默认精度?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/120776

c++ - 是否存在允许任意精度指数的 C/C++ 任意精度浮点库?

我正在寻找适用于C/C++的任意精度浮点库(首选纯C)。我需要任意精度指数。GMP和MPFR使用固定大小的指数,因此它们不合格(我有一些解决方法的想法,但我更喜欢开箱即用的解决方案)。如果可以自动调整指数精度以防止出现无穷大值,那将是一个不错的功能。如果您确定不存在这样的库,请说出来。 最佳答案 据我所知,没有什么比GMP/MPFR更主流的了。但是FredrikJohansson的arb包含一个名为fmpr的模块提供具有任意精度指数的float。 关于c++-是否存在允许任意精度指数的C

C++ 处理过高的精度

我目前正在查看codewhichdoesmulti-precisionfloating-pointarithmetic.为了正常工作,该代码需要在明确定义的点将值降低到最终精度。因此,即使中间结果计算为80bitextendedprecision浮点寄存器,在某些时候它必须四舍五入为64bitdouble用于后续操作。代码中使用宏INEXACT来描述这个需求,但没有一个完美的定义。gccmanual提到-fexcess-precision=standard作为强制强制转换和赋值操作定义明确的精度的方法。然而,它也写道:‘-fexcess-precision=standard’isnot

c++ - GCC C++ pow 精度

所以我在参加计算机竞赛时发现了一个奇怪的错误。pow(26,2)总是返回675,有时返回674?即使正确答案是676。这类错误也会发生在pow(26,3)、pow(26,4)等中经过比赛后的一些调试,我相信答案与int向下舍入有关。有趣的是,我以前从未发生过这种错误。我的电脑在Windows8上运行mingw。GCC版本相当新,我相信大概有2-3个月大。但我发现,如果我打开o1/o2/o3优化标志,这类错误就会奇迹般地消失。pow(26,2)总是会得到676也就是正确答案谁能解释为什么?#include#includeusingnamespacestd;intmain(){coutdo

c - c中的时间戳,精度为毫秒

我是C编程的新手,我正在从事一个需要非常准确的时间的项目;因此我尝试写一些东西来创建一个精确到毫秒的时间戳。这似乎可行,但我的问题是这种方法是否正确,或者是否有更简单的方法?这是我的代码:#include#includevoidwait(intmilliseconds){clock_tstart=clock();while(1)if(clock()-start>=milliseconds)break;}intmain(){time_tnow;clock_tmilli;intwaitMillSec=2800,seconds,milliseconds=0;structtm*ptm;now=

Windows 上的 Java 时钟精度 : 15-16ms

Windows上的时钟精度最近似乎发生了变化。我记得自Windows7(1毫秒分辨率)以来它非常准确,现在时间以15到16毫秒的步长跳跃。我注意到由于一些(尽管写得不好)单元测试失败(测试检查写入和读取记录之间经过了一段时间)。这会影响以下实现:System.currentTimeMillis()LocalTime.now()LocalDateTime.now()ZonedDateTime.now()我很清楚耗时是使用System.nanoTime()增量来测量的,但我想知道我是否错过了将时钟分辨率改回到15-16毫秒的东西.环境:Windows10版本1709JRE/JDK1.8.0

c++ - OpenCL 浮点精度

我发现OpenCL中主机-客户端float标准存在问题。问题是在x86中编译时,由Opencl计算的float与我的visualstudio2010编译器不在相同的float限制内。但是,在x64中编译时,它们处于相同的限制。我知道它必须与http://www.viva64.com/en/b/0074/有关我在测试期间使用的来源是:http://www.codeproject.com/Articles/110685/Part-1-OpenCL-Portable-Parallelism当我在x86中运行该程序时,当内核和C++程序采用1269760个数字的平方时,它会给我202个相等的数

c++ - 如何以微秒精度计算操作时间

我想在Windows平台上以微秒精度计算函数的性能。现在Windows本身就有毫秒级的粒度,那我怎么实现呢。我尝试了以下示例,但没有得到正确的结果。LARGE_INTEGERticksPerSecond={0};LARGE_INTEGERtick_1={0};LARGE_INTEGERtick_2={0};doubleuSec=1000000;//GetthefrequencyQueryPerformanceFrequency(&ticksPerSecond);//CalculateperuSecfreqdoubleuFreq=ticksPerSecond.QuadPart/uSec;

Redis 不保留排序集中的精度

我正在尝试使用redis精确创建记分牌。但它是四舍五入的精度。例如127.0.0.1:6379>zaddleaderboard30.1441050792000"item"(integer)1127.0.0.1:6379>zrevrangeleaderboard0-1withscores1)"item"2)"30.144105079199999"有什么方法可以保持redis中的精度来存储准确的结果。谢谢 最佳答案 根据文档Redissortedsetsuseadouble64-bitfloatingpointnumbertorepre

java - MySQL DATETIME 精度(joda-time、Hibernate、org.jadira.usertype、hbm2ddl)

在我的hibernate-4实体中,我正在映射一个joda-timeDateTime使用推荐的属性jadirausertypes:@Entity@Table(name="timing")publicclassTimingEntity{...@Basic(optional=false)@Column(name="moment")@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")publicDateTimegetMoment(){...我的数据库是MySQL。将hibernate属性hbm2ddl.au