![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
巨大数
巨大数
魔幻音
如果世界上真的有奇迹,那只是努力的另一个代名词。
展开
-
巨大数加减法(微易码补码)
通常的加减法是用元素本身进行加减,加法直接相加,找进位。减法先判断两个数大小,用大数减小数再判断是否加负号。 而这次加减法利用的是微易码补码。 因为计算机利用补码来通过加法完成不带借位的减法,教主利用这种思想研究出了微易码补码。 微易码补码: ①若数据为整数,则补码为其本身 ②若数据为负数,则每个元素的补码为9999 - 该元素 加减计算总共三种: ①正+正 ②正+负 ③负+负 重点需要考虑进位的问题 列出各种情况和中心问题后,下面举一些例子深入理解一下: ...原创 2020-08-12 11:55:36 · 376 阅读 · 0 评论 -
巨大数的乘法
通过之前巨大数的获取可知,当前巨大数是按4位4位分开存放的。 对于乘法举个例子:12345 × 3456 内部逻辑是: 1 2345 × 3456 = (1 × 10000 ^ 1 ) × (3456 × 10000 ^ 0) + (2345 × 10000 ^ 0)× (3456 × 10000 ^ 0) 可以发现乘法实际是多项式乘法,万的次方对应的是元素下标,若万的次方相同,可以视作同类项进行合并(实际就是在该下标位置进行相加)。 任何计算前,需要考虑高低位的问题,计算都是由低位向高位计算,所以每次计算原创 2020-08-11 18:21:20 · 171 阅读 · 0 评论 -
巨大数的原理解释和初始化获取
引入巨大数的原因: 因为在C语言中,例如int类型,因为int型常量的本质是4字节(32位)补码,当数值最大为2^31 - 1,即只能表示-2147483648 ~ 2147483647,而对于更大的数例如几十位几百位的数,则无法用系统原有类型存储了,此时就需要引入巨大数概念。 巨大数的存储思考: 对于巨大数的存储,很容易能想到用字符串存储,将每个字符换成数字进行计算,但这种方法一位一位运算过于繁琐,效率太低。 这时可以引入万进制的概念。 万进制: 万进制即类似十进制,上限为9,万进制上限为9999,999原创 2020-08-11 18:01:24 · 252 阅读 · 0 评论