十进制到二进制转换
十进制数字也可以转换为二进制格式。要将十进制数转换为二进制数,我们需要将数字除以2,直到达到0或1。然后,在每一步骤中,其余部分将分开存储以形成相反的二进制等效数。
在此算法中,我们将遵循递归方法。这将帮助我们在不使用堆栈数据结构的情况下解决问题。在实现中,我们知道函数的递归将遵循内部堆栈。我们将使用该堆栈来为我们的工作服务。
输入输出
Input: Decimal number 56 Output: Binary Equivalent: 111000
算法
decToBin(decimal)
输入:十进制数。
输出:等效的二进制字符串。
Begin if decimal = 0 OR 1, then insert decimal into the binary string return decToBin(decimal / 2) insert (decimal mod 2) into the binary string. End
示例
#include<iostream> using namespace std; void decToBin(int dec) { if(dec == 1 || dec == 0) { cout << dec; //print either 0 or 1 as dec return; } decToBin(dec/2); //divide the number by 2 and find decimal again cout << dec % 2; //after returning print the value in reverse order } main() { int dec; cout<<"Enter decimal number: "; cin >> dec; cout << "Binary Equivalent: "; decToBin(dec); }
输出结果
Enter decimal number: 56 Binary Equivalent: 111000