首页 文章
  • 539 votes
     answers
     views

    如何检测整数溢出?

    我在C中编写一个程序来查找ab = c的所有解,其中a,b和c一起使用所有数字0-9 . 程序循环使用a和b的值,并且每次在a,b和ab上运行数字计数例程以检查数字条件是否满足 . 但是,当ab溢出整数限制时,可能会生成虚假解决方案 . 我最终使用以下代码检查: unsigned long b, c, c_test; ... c_test=c*b; // Possible over...
  • 6 votes
     answers
     views

    如何在启用溢出检查的情况下编译和运行优化的Rust程序

    我正在编写一个计算量很大的程序,并且在调试模式下运行起来非常慢 . 我的程序也受到整数溢出的困扰,因为我从 u8 数组读取数据,并且 u8 类型通过类型推断传播到意外的位置,而Rust更喜欢溢出而不是将整数提升为更大的类型 . 在发布模式下构建会禁用溢出检查: cargo run --release 如何通过优化和运行时溢出检查来构建Rust可执行文件?
  • 41 votes
     answers
     views

    为什么语言默认情况下不会在整数溢出上引发错误?

    在几种现代编程语言(包括C,Java和C#)中,该语言允许integer overflow在运行时发生,而不会引发任何类型的错误条件 . 例如,考虑这个(人为的)C#方法,它没有考虑上溢/下溢的可能性 . (为简洁起见,该方法也不处理指定列表为空引用的情况 . ) //Returns the sum of the values in the specified list. private sta...
  • 3 votes
     answers
     views

    Golang:on-purpose int overflow

    我正在使用哈希函数 murmur2 ,它返回一个 uint64 . 我想将它存储在PostgreSQL中,它只支持 BIGINT (带符号的64位) . 因为我对数字本身不感兴趣,只是对二进制值感兴趣(因为我将它用作检测唯一性的id(我的值为~1000值,64位散列对我来说足够了)我想通过改变类型"just"将其转换为 int64 . 如何以一种令编译器满意的方式做到这一点...
  • 0 votes
     answers
     views

    C操作无符号的Ints - 整数溢出

    我在简单的C程序中试验unsigned int数据类型和main方法参数 . 作为一个实验,我编写了一个程序,它从命令行获取一个int数作为main方法的参数,并将该数字和0之间的每个整数相加 . 例如 . 当n> 0时,程序计算f(n)=(1 2 3 ... n)有效 #include <stdio.h> #include <stdlib.h> const uns...
  • 3 votes
     answers
     views

    将非常大的基数n转换为字节

    我在 n ( n 由用户指定)中有一个非常大的数字,存储为一个数组,每个元素代表一个数字 . u[0] 是最高位, u[1] 是第二高位, u[-1] 是最低位,依此类推 . 前导零被理解为没有意义:例如,如果 n 为8,则 [0, 0, 0, 4, 7, 3] 等于 [4, 7, 3] 并且在基数8中等于(473),或者在基数10中为315,或者在十六进制中为 13B ,或者作为字节数组为 ...

热门问题