【C++进阶】BigInt的实现(一)

文章目录

  • 前言
    • 需要知道的是
    • 正负数在二进制中的表达
      • 二进制补码表示法
        • 正数表示
        • 负数表示
      • 二进制补码的优点
      • 举例说明
    • 小数二进制
      • 整数部分的二进制表示
      • 小数部分的二进制表示
      • 例子
        • 整数部分:
        • 小数部分:
        • 综合
      • 小数二进制表示注意事项
  • 总结


前言

在计算机科学中,处理大整数(BigInt)是一项重要的任务,尤其是在密码学、科学计算和金融应用中。标准的整数类型在某些情况下可能不够用。例如,C语言中的 int 类型通常是 32 位的,可以表示的最大整数约为 2^31 - 1(2147483647);long long 类型通常是 64 位的,可以表示的最大整数约为 2^63 - 1(9223372036854775807)。然而,这些范围对某些应用来说仍然不够。因此,我们需要自定义一种数据结构和算法来处理任意大小的整数,这就是 BigInt 的实现。


需要知道的是

在 C 语言中,最大的标准整数类型是 unsigned long long,它通常是 64 位的,可以表示的最大整数值为 2^64 - 1(18446744073709551615)。对于需要处理更大整数的应用,我们需要依赖自定义的 BigInt 实现或使用第三方库(如 GNU MP Library,GMP)。

在计算机中,负数通常使用一种叫做“二进制补码”(Two’s Complement)的方法

你可能感兴趣的:(C++大合集,c++,开发语言,c语言,面向对象,单片机,51单片机,mcu)