Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để chuyển đổi một số thập phân thành số nhị phân bằng cách sử dụng ngăn xếp

Trong bài toán này, chúng ta sẽ xem cách chuyển một số thập phân sang số nhị phân bằng cách sử dụng ngăn xếp. Như chúng ta biết rằng các số thập phân có thể được chuyển đổi bằng cách sử dụng nhị phân sau khi chia nó cho 2 và lấy phần dư. Chúng tôi lấy phần còn lại từ cuối cùng đến đầu tiên, vì vậy chúng tôi có thể dễ dàng sử dụng cấu trúc dữ liệu ngăn xếp để thực hiện điều đó.

Input: Decimal number 13
Output: Binary number 1101

Thuật toán

Step 1: Take a number in decimal
Step 2: while the number is greater than 0:
Step 2.1: Push the remainder after dividing the number by 2 into stack.
Step 2.2: set the number as number / 2.
Step 3: Pop elements from stack and print the binary number

Mã mẫu

#include<iostream>
#include<stack>
using namespace std;
void dec_to_bin(int number) {
   stack<int> stk;
   while(number > 0) {
      int rem = number % 2; //take remainder
      number = number / 2;
      stk.push(rem);
   }
   while(!stk.empty()) {
      int item;
      item = stk.top();
      stk.pop();
      cout << item;
   }
}
main() {
   int num;
   cout << "Enter a number: ";
   cin >> num;
   dec_to_bin(num);
}

Đầu ra

Enter a number: 18
10010