Chuyển cơ số 10 sang cơ số 2 trong C/C++

Chuyển cơ số 10 sang cơ số 2

Chuyển cơ số 10 sang cơ số 2 là một trong những bài toán đổi cơ số thường gặp. Bài tập này giúp các bạn làm quen được với các hệ cơ số khác nhau. Ngoài hệ cơ số 10 chúng ta hay dùng. Còn có một số hệ cơ số hay dùng khác là 2, 8, 16. Trong bài viết này, mình sẽ cùng các bạn đi giải bài tập đổi cơ số thập phân sang nhị phân nhé.

Xem hướng dẫn đổi cơ số 2 sang cơ số 10 tại đây.

Một số lưu ý

Cơ số 10 là cơ số chúng ta thường dùng nhất, nó còn có tên gọi khác là hệ thập phân.

Tương tự, cơ số 2 còn được gọi là hệ nhị phân(chỉ gồm 2 số 0 và 1).

Bài viết này sẽ hướng dẫn các bạn cách chuyển từ hệ thập phân sang nhị phân sử dụng C/C++.

Hệ nhị phân là gì?

Hệ nhị phân (hay hệ đếm cơ số hai) là một hệ đếm dùng hai ký tự để biểu đạt một giá trị số, bằng tổng số các lũy thừa của 2. Hai ký tự đó thường là 0 và 1; chúng thường được dùng để biểu đạt hai giá trị hiệu điện thế tương ứng (có hiệu điện thế, hoặc hiệu điện thế cao là 1 và không có, hoặc thấp là 0). Do có ưu điểm tính toán đơn giản, dễ dàng thực hiện về mặt vật lý, chẳng hạn như trên các mạch điện tử, hệ nhị phân trở thành một phần kiến tạo căn bản trong các máy tính đương thời.

Ví dụ:

10112 = 1*2^0 + 1*2^1 + 0*2^2 + 1*2^3 = 1110

Cách chuyển cơ số 10 sang cơ số 2

Để nắm được cách chuyển cơ số 10 sang cơ số 2, bạn hãy xem ví dụ trong hình dưới đây

Chuyển cơ số 10 sang cơ số 2
Cách chuyển cơ số 10 sang cơ số 2

Để chuyển từ hệ thập phân sang nhị phân. Bạn cần thực hiện chia nguyên số đó cho 2 cho tới khi nó bằng 0. Trong quá trình chia, lưu lại số dư của mỗi lần chia.

Vì là phép chia cho 2 nên số dư chỉ có thể là 0 hoặc 1

Sau khi có được số dư ở tất cả các lần chia. Ta đảo ngược thứ tự theo chiều từ cuối lên(pop remain oders) thì được số nhị phân cần thiết.

Trong hình trên số dư là biến rem và được đẩy vào queue. Ta thực hiện pop queue cho tới khi rỗng sẽ thu được kết quả ở hệ nhị phân.

Code chuyển hệ thập phân sang nhị phân

Output:

Một số cách giải khác

Lời giải tham khảo từ geeksforgeeks: Sử dụng mảng để lưu lại giá trị phép chia dư cho 2. Sau đó in ra theo chiều ngược lại

Kết quả chạy thử:

Một cách nâng cao hơn, sử dụng toán tử dịch bit như sau:

Kết quả chạy thử:

Như vậy, Nguyễn Văn Hiếu Blog đã hoàn thành bài hướng dẫn chuyển số thập phân sang nhị phân. Nếu có bất kỳ thắc mắc nào, bạn hãy để lại lời nhắn phía dưới bình luận.

Chúc các bạn học tập tốt!

avatar
  Subscribe  
newest oldest most voted
Notify of
Đức
Guest
Đức

Ah giải thích cho e về biến i, sum kĩ hơn đc k ??

DUC
Guest
DUC

if (k & 1) biểu thức điều kiện này có nghĩa là gì ạ ai giải thích giúp mình với