C++ 中十进制转二进制的程序


给定一个十进制数作为输入,任务是将给定的十进制数转换为二进制数。

计算机中的十进制数以基 10 表示,而二进制数以基 2 表示,因为它只有两个二进制数字 0 和 1,而十进制数可以是 0-9 之间的任意数字。

要将十进制数字转换为二进制数字,请遵循以下步骤:

  • 首先用转换数字的基值除以给定数字,例如将 42 除以 2,因为我们需要将 42 转换为二进制数字,其基值为 2,然后获得商并存储。如果余数为 0,则将位存储为 0,否则为 1。
  • 用二进制数的基值(2)除以获得的商,并继续存储位。
  • 继续将存储的位向右移
  • 重复此步骤,直到剩余的余数不可再被整除

以下是将十进制数转换为二进制数的示意图。

示例

Input-: 42
   Divide the 42 with base 2 : 42 / 2 = 0 (remainder) 21(quotient)
   Divide quotient with base: 21 / 2 = 1(remainder) 10(quotient)
   Divide quotient with base: 10 / 2 = 0(remainder) 5(quotient)
   Divide quotient with base: 5 / 2 = 1(remainder) 2(quotient)
   Divide quotient with base: 2 / 2 = 0(remainder) 1(quotient)
   Now reverse the bits to obtain final value.
Output-: 101010

算法

Start
Step 1-> declare function to convert decimal to binary
   int convert(int num)
   Loop For int i = 31 i >= 0 i—
      Set int k = num >> i
      If (k & 1)
         Print "1"
      End
      Else
         Print "0"
      End
   End
Step 2-> In main()
   Declare and set int num = 42
   Call convert(num)
Stop

示例

 动态演示

#include <iostream>
using namespace std;
//convert decimal to binary
int convert(int num) {
   for (int i = 31; i >= 0; i--) {
      int k = num >> i;
      if (k & 1)
         cout << "1";
      else
         cout << "0";
   }
}
int main() {
   int num = 42;
   convert(num);
}

输出

如运行以上代码,它将生成以下输出

00000000000000000000000000101010

更新于:2019 年 10 月 18 日

232 次浏览

开始你的 职业

通过完成课程获得认证

开始学习
广告
© . All rights reserved.