ieee-754

    0热度

    1回答

    我需要将8字节长的十六进制数字转换为C#中的浮点数。 例如: 40300000亿应该是16.0 C0622EB860000000应该是-14.46 40900000亿应该是1024.0 我发现这个代码,似乎工作,但它不会将对于大于10且小于-10的数字,正确指出 。例如, -14.46显示为-1.4546。代码有什么问题? const string formatter = "{0,20}{1,27

    1热度

    1回答

    考虑以下几点: .1 + .2 === .3 // false 1 * .3 === .3 // true ......前者不会导致0.3因为不能在IEEE 754双精度浮点精确表示,这样的结果几乎却没有一个或多个操作数相当0.3。 为什么后者返回true。是否因为0.3在IEEE 754双精度浮点中恰好可以表示?

    1热度

    1回答

    有没有办法将浮点数(f32或f64)转换为我可以按位访问的数据类型,如u32/u64?也就是对应的东西: fn as_bits(i: f64) -> u64 { unsafe { mem::transmute(i) } } 但没有unsafe。该代码对rules是安全的,尽管它可能不会在所有平台上返回相同的值,特别是对于NaN。反向安全界面也很好。

    2热度

    2回答

    Oracle中的BINARY_DOUBLE和Java中的Double使用IEEE 754标准。 但它们的准确性有所不同。 例如值: 456.67d 甲骨文: declare a BINARY_DOUBLE := 456.67d; begin SYS.DBMS_OUTPUT.PUT_Line(TO_CHAR(a,'9.99999999999999999999EEEE'));

    0热度

    1回答

    据我所知,JavaScript使用IEEE 754浮点数来处理实数。 问题使用时发生,这是相当常见的问题: 0.1 + 0.2 = 0.30000000000000004 大多数的时间,使用像“big.js”的模块,但使用时问题MongoDB的。 看看这个文件: { “_id”:物件( “58ff8f721bbfbcd140e472b3”), “值”:0.1} 当我运行$ INC。是这样的: db

    0热度

    1回答

    我试图HEX的字符串转换为一个浮点值。该字符串是4个字节长。它被定义为: String B = ""; 这是一个较长的字符串的子: B = input.substring(6,14); 这导致我试图在转换为单精度浮点值的字符串中。 网上我发现下面的代码: float y = *(float*)&B; 这编译没有错误,但是当我运行的代码,它总是0.000000。我猜我不能用一个字符串使用

    4热度

    1回答

    对于IEEE-754算术,在倒数的最后一位准确度中是否有0或1个单位的保证?那么,对于互惠的倒数是否有保证的误差?

    9热度

    1回答

    的documentation在这篇文章的标题的说法说: float_precision:字符串,默认无 指定该转换器的C引擎应使用用于浮点值。选项为无为普通转换器,高为为高精度转换器,为round_trip为往返转换器。 我想了解更多关于提到的三种算法,优选不必挖入源代码。 问:做这些算法都有名字我可以谷歌确切的知道他们做什么,他们有什么不同? (另外,一边的问题:究竟是什么“的C引擎”在这方面是

    1热度

    2回答

    为了计算任何给定的双值的实平方根问题,编程访谈的元素的作者提出了一种solution其中2个精度值a和b之间的差被计算如下: typedef enum { SMALLER, EQUAL, LARGER } Ordering; Ordering Compare(double a, double b) { // Uses normalization for precision probl

    -1热度

    1回答

    最近,我一直在努力实现15个测试在NIST SP800-22描述随机性。作为我的函数实现的一个检查,我一直在运行NIST文档为它的每个测试提供的示例。其中一些测试需要非常长的位串(高达一百万位)。例如,在其中一个例子中,输入是“Ë的第一100000个比特。”这引出了一个问题:如何生成浮点值的位表示,该浮点值超过了Python中浮点数的精度? 我发现文章转换整数二进制字符串(在斌()函数)和(2(慢