Cách chuyển đổi số thập phân thành nhị phân trong C

Cach Chuyen Doi So Thap Phan Thanh Nhi Phan Trong C



Các hệ thống máy tính thường sử dụng các số nhị phân để biểu thị dữ liệu và hướng dẫn, nhưng vì các chữ số thập phân dễ hiểu hơn đối với mọi người so với số nhị phân, do đó, cần phải chuyển đổi. Bài viết này sẽ đi qua sự hiểu biết giữa số thập phân thành số nhị phân và cung cấp các ví dụ chương trình về các phương pháp khác nhau để chuyển đổi số thập phân thành số nhị phân trong ngôn ngữ lập trình có tên là C.

Làm cách nào để chuyển đổi số thập phân thành nhị phân trong C?

Giá trị thập phân đã cho được chia cho 2 nhiều lần, với phần còn lại được ghi lại cho đến khi chúng ta nhận được 0 là thương số cuối cùng. Quá trình này được sử dụng để chuyển đổi số nguyên từ thập phân sang nhị phân. Công thức thể hiện quá trình chuyển đổi từ thập phân sang nhị phân được coi là các giai đoạn như sau:







Bước 1: Tìm phần còn lại bằng cách chia số đó cho 2, sau đó thêm nó vào một mảng.



Bước 2: Tiếp theo, chia phần còn lại cho hai.



Bước 3: Thực hiện lại hai bước đầu tiên cho đến khi kết quả vượt quá 0.





Bước 4: Hiển thị ngược mảng để thu được dạng nhị phân của số. Bit có ý nghĩa nhỏ nhất (LSB) của một số nhị phân nằm ở trên cùng, trong khi Bit có ý nghĩa cao nhất (MSB) nằm ở phía dưới, đây là một cách khác để diễn giải điều này. Số nhị phân tương đương của số thập phân được cung cấp là số này.

Để hiểu rõ hơn về điều này, đây là chuyển đổi của  11 10 trong chuyển đổi thập phân sang nhị phân:



chia cho 2 thương số phần còn lại
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Bây giờ, viết phần còn lại theo thứ tự ngược lại, do đó, số thập phân (11 10 ) trở thành (1011 2 ).

Phần còn lại sẽ được ghi chú và sau đó được viết sao cho (MSB) của số nhị phân xuất hiện trước, sau đó là phần còn lại. Do đó, 1011 2 là tương đương nhị phân của giá trị thập phân đã cho 11 10 . Kết quả là 11 10 = 1011 2 . Sau đây là việc triển khai chuyển đổi số thập phân thành nhị phân được đề cập ở trên trong ngôn ngữ C.

Các phương pháp được sử dụng để chuyển đổi số thập phân thành số nhị phân

Các phương pháp này được sử dụng trong ngôn ngữ C chuyển đổi các chữ số thập phân thành nhị phân:

Bây giờ, hãy thực hiện chuyển đổi từng số thập phân thành số nhị phân theo các phương pháp nêu trên.

Phương pháp 1: Lập trình thập phân thành nhị phân trong C với vòng lặp for

Dưới đây là chuyển đổi chữ số thập phân (11) thành nhị phân với sự trợ giúp của vòng lặp for trong C:

#include
chuyển đổi vô hiệu ( số nguyên 1 ) {
nếu như ( số1 == 0 ) {
bản inf ( '0' ) ;
trở lại ;
}
int nhị phân_num [ 32 ] ; // Giả định 32 số nguyên bit.
int Tôi = 0 ;
( ;num1 > 0 ; ) {
nhị phân_num [ tôi ++ ] = số1 % 2 ;
số1 / = 2 ;
}
( int j = i- 1 ; j > = 0 ; j-- )
bản inf ( '%d' , nhị phân_num [ j ] ) ;
}
int chính ( ) {
int số1;
bản inf ( 'Nhập số thập phân:' ) ;
quét ( '%d' , & số1 ) ;
chuyển thành ( số1 ) ;
trở lại 0 ;
}


Chương trình trên đang sử dụng vòng lặp for để chuyển đổi số thập phân do người dùng cung cấp thành số nhị phân. Đầu ra là:

Cách 2: Lập trình thập phân thành nhị phân trong C với vòng lặp while

Trong phương pháp này, vòng lặp while trong C được sử dụng để chuyển đổi chữ số thập phân (11), thành nhị phân, như hình dưới đây:

#include
int chính ( ) {
int thập phân_num, binary_num = 0 , cơ sở = 1 , số dư;
bản inf ( 'Nhập số thập phân:' ) ;
quét ( '%d' , & số thập phân ) ;
trong khi ( số thập phân > 0 ) {
phần còn lại = số thập phân % 2 ;
binary_num = binary_num + số dư * căn cứ;
số_thập_phân = số_thập_phân / 2 ;
cơ sở = cơ sở * 10 ;
}
bản inf ( 'Số nhị phân của số thập phân đã cho với vòng lặp while là: %d' , nhị phân_num ) ;
trở lại 0 ;
}


Bốn biến số nguyên thập phân_num, nhị phân_num, cơ sở và phần còn lại được khai báo đầu tiên trong chương trình này. Người dùng nhập một số thập phân, mà chúng tôi sẽ chuyển đổi thành số nhị phân của nó. Việc chuyển đổi nhị phân được thực hiện bằng vòng lặp while.

Cách 3: Chuyển từ thập phân sang nhị phân trong lập trình C với Stack

Đây là phương pháp đơn giản với chương trình C dựa trên ngăn xếp thay đổi giá trị thập phân thành nhị phân:

#include

#define MAX_SIZE 32 // số bit tối đa trong biểu diễn nhị phân
int chính ( ) {
int thập phân_num, nhị phân [ MAX_SIZE ] , đầu = -1 ;
bản inf ( 'Vui lòng nhập bất kỳ số thập phân nào:' ) ;
quét ( '%d' , & số thập phân ) ;
trong khi ( số thập phân > 0 ) {
nhị phân [ ++ hàng đầu ] = số thập phân % 2 ;
số thập phân / = 2 ;
}
bản inf ( 'Nhị phân của %d sử dụng phương thức ngăn xếp là: ' ) ;
trong khi ( đứng đầu > = 0 ) {
bản inf ( '%d' , nhị phân [ đứng đầu-- ] ) ;
}
trở lại 0 ;
}


Đầu tiên, chúng ta khai báo ba biến số nguyên top, binary, và decimal_num trong chương trình này. Đỉnh là chỉ số của phần tử cao nhất trong ngăn xếp, thập phân là số ở dạng thập phân được người dùng nhập vào, nhị phân là một mảng sẽ chứa các bit ở dạng nhị phân dưới dạng MAX_SIZE bit và thập phân_num là mảng nhị phân. Sau đó, chuyển đổi nhị phân được thực hiện bằng vòng lặp while.

Đầu ra là:

Phương pháp 4: Lập trình thập phân thành nhị phân trong C với toán tử Bitwise

Một toán tử được gọi là phép toán từng bit thao tác từng bit của các ký hiệu nhị phân đại diện cho các số nguyên. Sau đây là tập lệnh C cơ bản sử dụng các thao tác bitwise để dịch một số ở dạng thập phân thành nhị phân:

#include

// Phương pháp này sẽ hiển thị tất cả các 4 bit của một số
chuyển đổi vô hiệu ( số nguyên 1 ) {
// xem xét một 4 -bit số
( int tôi = 3 ; Tôi > = 0 ; Tôi-- ) {
bit int = ( 1 << Tôi ) ;
nếu như ( số1 & chút )
bản inf ( '1' ) ;
khác
bản inf ( '0' ) ;
}
}
int chính ( ) {
int số1;
bản inf ( 'Nhập số thập phân:' ) ;
quét ( '%d' , & số1 ) ;
chuyển đổi ( số1 ) ;
trở lại 0 ;
}


Chương trình này sẽ thực hiện một vòng lặp for thông qua số bắt đầu ở bit quan trọng nhất và kết thúc ở bit ít quan trọng nhất. Bằng cách thực hiện thao tác “bitwise AND” trên mặt nạ và số, chúng tôi có thể xác định xem bit đó là 0 hay 1. Nếu nó khác 0, bit hiện tại là 1; nếu không, nó là 0.

Để hiển thị dạng nhị phân của num1, hãy xuất bit sau mỗi lần lặp. Kết quả cuối cùng sau khi thực hiện xong sẽ như sau:

Phần kết luận

Đó là một kỹ năng cần thiết trong lập trình máy tính để chuyển đổi số từ thập phân sang nhị phân. Chuyển đổi số thập phân sang nhị phân cho phép chúng tôi thực hiện các thao tác khác nhau trong lập trình C. Bài viết này cung cấp 4 phương pháp để chuyển đổi giá trị thập phân thành giá trị nhị phân.