最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

terminology - Why are BigInt chunks-of-bits called "limbs"? - Stack Overflow

programmeradmin0浏览0评论

I've come across multiple sources that use the word "limb" to refer to a chunk of an arbitrary-sized integer. I can understand why "digit" and "word" aren't great names for this, but I'm curious where "limb" comes from, both in in terms of the history of the word and the reasons for choosing it over something else.

I've seen this:

  • in the Zig standard library's std.math.big
  • in the Rust crypto-bigint crate
  • in the docs for BearSSL, which says "For non-decimal bases, it is traditional to call limbs the individual ai values, intead of 'digits'."

I believe the author, but this is the first time I've seen it so I'm curious. Anyone know where the terminology originally comes from or why "limb" was chosen over other reasonable words?

I've come across multiple sources that use the word "limb" to refer to a chunk of an arbitrary-sized integer. I can understand why "digit" and "word" aren't great names for this, but I'm curious where "limb" comes from, both in in terms of the history of the word and the reasons for choosing it over something else.

I've seen this:

  • in the Zig standard library's std.math.big
  • in the Rust crypto-bigint crate
  • in the docs for BearSSL, which says "For non-decimal bases, it is traditional to call limbs the individual ai values, intead of 'digits'."

I believe the author, but this is the first time I've seen it so I'm curious. Anyone know where the terminology originally comes from or why "limb" was chosen over other reasonable words?

Share Improve this question asked Mar 4 at 2:32 Jim WitscheyJim Witschey 3052 silver badges16 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 2

According to the GNU MP manual 3.2 Nomenclature and Types...

A limb means the part of a multi-precision number that fits in a single machine word. (We chose this word because a limb of the human body is analogous to a digit, only larger, and containing several digits.) Normally a limb is 32 or 64 bits. The C data type for a limb is mp_limb_t.

This text dates back to at least May 1996.

发布评论

评论列表(0)

  1. 暂无评论