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

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

Trong hệ thống máy tính, số nhị phân được biểu thị trong hệ thống chữ số nhị phân trong khi số thập phân nằm trong hệ thống chữ số thập phân. Số nhị phân ở cơ số 2 trong khi số thập phân ở cơ số 10. Ví dụ về số thập phân và số nhị phân tương ứng của chúng như sau -

Số thập phân Số nhị phân
15 01111
10 01010
18 10010
27 11011

Một chương trình chuyển đổi các số thập phân thành nhị phân như sau -

Ví dụ

#include <iostream>
using namespace std;
void DecimalToBinary(int n) {
   int binaryNumber[100], num=n;
   int i = 0;
   while (n > 0) {
      binaryNumber[i] = n % 2;
      n = n / 2;
      i++;
   }
   cout<<"Binary form of "<<num<<" is ";
   for (int j = i - 1; j >= 0; j--)
   cout << binaryNumber[j];
   cout<<endl;
}
int main() {
   DecimalToBinary(15);
   DecimalToBinary(10);
   DecimalToBinary(18);
   DecimalToBinary(27);
   return 0;
}

Đầu ra

Binary form of 15 is 1111
Binary form of 10 is 1010
Binary form of 18 is 10010
Binary form of 27 is 11011

Trong chương trình trên, hàm DecimalToBinary có giá trị nhị phân của số thập phân n và được lưu trong mảng binaryNumber []. Một vòng lặp while được sử dụng và kết quả của thao tác n modulus 2 được lưu trữ trong binaryNumber [] cho mỗi lần lặp lại của vòng lặp.

Điều này được hiển thị bằng đoạn mã sau.

while (n > 0) {
   binaryNumber[i] = n % 2;
   n = n / 2;
   i++;
}

Sau đó, số nhị phân được hiển thị bằng vòng lặp for. Điều này được hiển thị như sau -

cout<<"Binary form of "<<num<<" is ";
for (int j = i - 1; j >= 0; j--)
cout << binaryNumber[j];

Hàm main () chỉ chứa các lệnh gọi hàm tới DecimalToBinary () cho các số thập phân khác nhau.

Điều này được hiển thị trong đoạn mã sau.

DecimalToBinary(15);
DecimalToBinary(10);
DecimalToBinary(18);
DecimalToBinary(27);