将数字从十进制转换为二进制

时间:2016-06-30 10:56:56

标签: algorithm data-structures

最近发现了一个问题 -

将十进制数(基数10)转换为二进制数(基数2),但不是我们通常的方式。我们将根据以下数据计算算法 -

0 = 000

1 = 001

2 = 011

3 = 010

4 = 110

5 = 111

6 = 101

7 = 100

13 = 1011

我很努力想出一个算法,但不能。 有人能想出解决方案吗?

1 个答案:

答案 0 :(得分:0)

你的转换真正有趣的是连续数字相差一位数。这是Gray code的特征。

有关详细信息,请访问wikipediaGeeks4geeks

<强>算法:

  • 写出数字的二进制表示
  • 向右移动它的副本(删除最后一位 - 丢失它)。
  • XOR所有位。它将返回格雷码。