划分n位二进制整数

时间:2012-09-19 02:43:33

标签: c++ pseudocode

想知道是否有人可以帮我创建一个如何分割n位二进制整数的伪代码。以下是我现在认为可以正常工作的内容,如果我错了,有人可以纠正这个:

divide (x,y)
     if x=0: return (0,0) //(quotient, remainder)
     (q,r) = divide(floor(x/2), y)

     q=2q, r=2r
     if x is odd: r = r+1

     if r >= y: r = r-y, q = q+1
          return (q,r)

你们是否会说这种通用的伪代码算法可以完成分割n位数字的预期任务,或者在我开始编写错误的东西之前我在伪造的代码中遗漏了什么?

1 个答案:

答案 0 :(得分:1)

除了明显的东西(不检查除零,不处理负数),它似乎工作。我只是将它应用于基数为10的数字,这让我信服。