integer-arithmetic

    0热度

    1回答

    与另一篇文章相关我有... parsing a sql string for integer values with multiple delimiters, 在哪里我可以很容易地完成与UNIX工具(ahem)相同。我发现它比预期的更杂乱。我正在寻找awk解决方案。对以下内容有何建议? 这是我原来的职位,转述: # 我想用awk来解析从平面文件,它是管道分隔源数据。其中一个字段的格式如下。我的最终

    16热度

    3回答

    我有许多有理数的集合,每个数的分子和分母存储为一个大的(数百或数千位)无符号整数。我希望能够有效地测试集合中是否有任何给定的有理数a/b等于集合中的任何其他有理数c/d。 最直接的方法是测试a*d == b*c是否当然,但我希望比计算完整产品更有效。 在我的具体使用情况的一些注意事项: 的对,我会测试实际上已经等于(因为我已经预先计算,并通过他们的浮点近似值第一比较它们的可能性很大),所以如果他们

    -3热度

    1回答

    C标准规定算术中的溢出未定义。 我想知道如何以性能友好的方式实现环绕算法。这意味着像here这样的溢出检查解决方案不是一种选择(因为它们使操作减慢了大约一个数量级)。 我认为解决方案将涉及编写汇编例程来执行此操作。有没有可用的库(尽管对于多架构,尽管x86是必须的)。 或者,是否有一个编译器标志(gcc & clang)使编译器强制执行整数算术的环绕语义?

    8热度

    2回答

    上周我在接受采访时并有这样一个测试: 计算N/9(因为N是正整数),只使用 左移,右移,ADD,。减去指令。

    1热度

    1回答

    有没有一种方法可以在不使用汇编x86语言中的DIV或IDIV的情况下计算mod操作? 例如,人们可以使用DIV来完成部门的其余部分。但是,而不是使用DIV,还有其他选择吗?

    0热度

    1回答

    double doubleResult = 1d/0d; System.out.println(doubleResult); int intResult = 1/0; System.out.println(intResult); 输出是: Infinity Exception in thread "main" java.lang.ArithmeticExcep

    0热度

    2回答

    我有recently learned对于m位x n位乘法(产生(m + n)位乘积),无论乘法是无符号还是有符号,结果的最低有效位总是相同的。 对于一个m位/ n位除法(产生一个m位商和一个n位余数),是否有任何位对于无符号和有符号的除法都是相同的,或一些输入)这两种划分方法产生完全不同的结果吗?

    5热度

    3回答

    的情况下添加数字 我在面试时被问到这个问题。我没有回答,实际上我不明白它是如何工作的。 int add(int x, int y) { while (y != 0) { int carry = x & y; x = x^y; y = carry << 1; } return x; } 我不是问为什么它会产生正确的答

    1热度

    1回答

    我试图找到一种可靠的方法将Swift中的Float或Double转换为Int。当发生溢出时,我会遇到问题。 让我们来看看下面的例子: let double = 9223372036854775807.0 // This is 2^63 - 1 (aka Int.max on 64 bits architecture) print("Int.max is : \(Int.max)") pr

    0热度

    1回答

    我在Rust中编写了一个有效的平方法。我们假设AbstractNumber的Mul特征是一个黑盒子,而且我们只允许安全,习惯性的锈。 下面是对较大指数使用重复平方的第一遍。我不确定LLVM如何翻译Rust算术方法调用,如checked_next_power_of_two()。 以下看起来合理吗?将小规模分支分成自己的内联函数会更高效吗? /// Compute an integer power o