Menu

Đổi thập phân sang nhị phân

Gõ một số nguyên để xem nó ở dạng nhị phân, với từng phép chia cho 2 hiện bên dưới. Trang mở sẵn số 42, tức là 101010.

Tác giả Nethanel Bar, Co-founder & CEO

Cập nhật lần cuối

Sẵn sàng học code thật sự?

Coddy dạy bạn bằng cách viết code thật ngay trên trình duyệt: bài học tương tác, phản hồi tức thì và AI hỗ trợ khi bạn bị kẹt.

Cách đổi số thập phân sang nhị phân

Mỗi lần chia cho 2 để lại số dư 0 hoặc 1, và số dư đó là bit tiếp theo, bắt đầu từ bên phải. Với 42: 42 ÷ 2 = 21 dư 0, 21 ÷ 2 = 10 dư 1, 10 ÷ 2 = 5 dư 0, 5 ÷ 2 = 2 dư 1, 2 ÷ 2 = 1 dư 0 và 1 ÷ 2 = 0 dư 1. Đọc ngược từ dưới lên, các số dư cho ra 101010.

Cách thứ hai rất tiện với số nhỏ: tìm lũy thừa lớn nhất của 2 không vượt quá số đó (32 với 42), trừ đi rồi lặp lại với phần còn lại (10, rồi 8, rồi 2). Đặt 1 dưới mỗi lũy thừa đã dùng và 0 dưới các lũy thừa còn lại.

Công cụ hiển thị cách chia cho mọi số nguyên bạn gõ và dùng BigInt, nên số lớn vẫn giữ chính xác.

Những điều cần biết khi viết số ở dạng nhị phân

  • Số dư cuối cùng bạn ghi là bit ngoài cùng bên trái.
  • Trong hệ nhị phân, số chẵn kết thúc bằng 0 và số lẻ kết thúc bằng 1.
  • Nhân đôi một số sẽ thêm một chữ số 0 vào cuối dạng nhị phân của nó: 21 là 10101 và 42 là 101010.
  • Các số từ 128 đến 255 cần đúng 8 bit; 256 là số đầu tiên cần 9 bit.

Ví dụ đổi thập phân sang nhị phân

42

Thập phân

42

Nhị phân

101010

42 = 32 + 8 + 2, nên các bit ứng với 32, 8 và 2 là 1, còn lại là 0.

255

Thập phân

255

Nhị phân

11111111

255 nhỏ hơn 256 đúng một đơn vị, nên mọi bit dưới 256 đều bật: tám chữ số 1.

Một byte của mặt nạ mạng

Thập phân

192

Nhị phân

11000000

192 = 128 + 64. Các subnet mask như 255.255.255.192 được đọc từng byte một theo cách này.

Một lũy thừa của 2

Thập phân

1024

Nhị phân

10000000000

1024 là 2¹⁰, nên nó là số 1 theo sau bởi mười số 0.

Lỗi thường gặp khi đổi thập phân sang nhị phân

  • Đọc các số dư từ trên xuống dưới. Số dư đầu tiên là bit ngoài cùng bên phải, nên phải đọc từ cuối lên đầu.
  • Dừng sớm một phép chia. Hãy chia tiếp đến khi thương bằng 0; số dư 1 cuối cùng chính là bit đầu tiên.
  • Đổi số âm hoặc số thập phân có phần lẻ theo cùng cách. Số âm dùng bù hai (two's complement), còn phần lẻ cần một phương pháp riêng.
  • Làm mất các số 0 ở đầu mà một độ dài cố định yêu cầu. 5 là 101, nhưng khi viết thành một byte thì là 00000101.

Câu hỏi thường gặp về đổi thập phân sang nhị phân

Số 10 trong hệ nhị phân là gì?

1010. 10 = 8 + 2, nên các bit ứng với 8 và 2 là 1.

Số 100 trong hệ nhị phân là gì?

1100100. 100 = 64 + 32 + 4.

Làm sao đổi thập phân sang nhị phân trong Python?
bin(42) trả về '0b101010', còn format(42, 'b') trả về '101010' không có tiền tố. Trong JavaScript, dùng (42).toString(2). Bạn có thể chạy thử các phép chuyển đổi này trong Python playground.
Một số cần bao nhiêu bit?

Đếm số lần chia cho 2 cho đến khi thương bằng 0; số lần đó chính là số bit. 42 cần 6 bit và 255 cần 8 bit.

Tìm hiểu thêm

Công cụ lập trình khác

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu