【发布时间】:2012-03-08 10:43:20
【问题描述】:
我正在寻找有关按位算术运算的教程,例如加法、减法、乘法和除法,也许还有其他更复杂的运算符,例如模数、逆模数等。
实际上,我正在尝试为没有此类库的嵌入式系统实现一个大数字库。所以我想学习如何处理有符号的大整数以及如何通过操作位来进行算术计算。现在我唯一的想法是将我的大整数保存在一个大 uint8_t 数组中,其中 1 位保留用于符号。例如,如果我需要一个 160 位整数,那么我需要一个数组 uint8_t num[21]。
我必须学习哪些基本知识?我在谷歌上搜索过,但我没有找到很多解释清楚的教程。或者更确切地说,我不知道我必须使用哪些关键字。
所以我需要你的建议。如果您知道我在哪里可以找到有趣的教程,请在此处发布链接。 PDF、网页、视频什么的。
【问题讨论】:
-
谷歌和维基百科应该会有所帮助。
-
你打算用c写这个库吗?如果是,我不明白你为什么需要知道如何通过操作位来进行算术计算......组合电路的话题很大,而且并不总是微不足道的......或者我可能只是误解了你的问题。
-
也许看看GNU MP,这是一个用C实现的bignum库。
-
@Saphrosit 不在 C 中,但我会先尝试使用 C,熟悉算法即可。
-
只进行位运算的算术运算效率非常低
标签: c bit-manipulation bitwise-operators biginteger