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