Đượ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.
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