如何计算数字的 k 进制表示中第 i 位的值?

发布于 2024-11-28 21:33:30 字数 231 浏览 0 评论 0原文

什么是计算数字 nk 元表示中第 i 位数字的值的好算法?

示例:

对于函数 bitval(int k, int i, int n)

bitval(5, 4, 9730) = 2 因为采用 5 进制(五进制)表示形式数字 9730(即 302410)的第 4 位数字(从右数)是 2。

What is a good algorithm to compute the value of the i-th digit in a k-ary representation of a number n?

Example:

For function bitval(int k, int i, int n):

bitval(5, 4, 9730) = 2 because in a 5-ary (quinary) representation of the number 9730 (which is 302410) the 4th digit (from the right) is 2.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小伙你站住 2024-12-05 21:33:30

像这样的东西:(

(n / (k ** i)) % k

其中 ** 是指数运算符,/ 是整数(截断)除法)应该这样做。如果您想从右侧开始对数字进行编号而不是从 0 开始,请使用 (i-1)

Something like:

(n / (k ** i)) % k

(where ** is the exponentiation operator and / is integer (truncating) division) should do it. Use (i-1) if you want to number the digits from the right starting with 1 rather than starting with 0.

悟红尘 2024-12-05 21:33:30

朴素算法如下:

  1. 计算nk元表示。这可以通过重复除法和模运算来实现。
  2. 返回此表示中的第 i 个数字。

The naive algorithm is as follows:

  1. Calculate the k-ary representation of n. This can be achieved with repeated divides and modulo operations.
  2. Return the i-th digit in this representation.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文