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

Chương trình chuyển đổi thập phân sang nhị phân trong C ++

Được đưa ra với một số thập phân làm đầu vào, nhiệm vụ là chuyển đổi số thập phân đã cho thành một số nhị phân.

Số thập phân trong máy tính được biểu diễn với cơ số 10 và số nhị phân được biểu thị với cơ số 2 vì nó chỉ có hai chữ số nhị phân 0 và 1 trong khi số thập phân có thể là bất kỳ chữ số nào bắt đầu từ 0 - 9.

Để chuyển đổi một số thập phân thành một số nhị phân, hãy làm theo các bước đã cho -

  • Trước hết chia số đã cho với giá trị cơ bản của số chuyển đổi, ví dụ:chia 42 cho 2 bởi vì chúng ta cần chuyển 42 thành một số nhị phân có cơ số 2, sau đó lấy thương và lưu trữ nó. Nếu phần còn lại là 0, hãy lưu trữ bit dưới dạng 0 khác 1.
  • Chia thương số thu được với giá trị cơ bản của số nhị phân là 2 và tiếp tục lưu trữ các bit.
  • Tiếp tục chuyển sang phải các bit đã lưu trữ
  • Lặp lại bước này cho đến khi phần còn lại không thể phân chia được

Dưới đây là biểu diễn bằng hình ảnh của việc chuyển đổi một số thập phân thành một số nhị phân.

Chương trình chuyển đổi thập phân sang nhị phân trong C ++

Ví dụ

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

Thuật toán

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

Ví dụ

#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);
}

Đầu ra

NẾU CHÚNG TÔI CHẠY MÃ TRÊN, NÓ SẼ TẠO ĐẦU RA SAU ĐÂY

00000000000000000000000000101010