Bộ Chuyển Đổi Thập Phân ↔ Nhị Phân
Nhập một số thập phân để chuyển đổi sang nhị phân, hoặc một số nhị phân để chuyển đổi sang thập phân. Kết quả sẽ xuất hiện trong ô khác.
Nhị phân là hệ thống số cơ số 2, nghĩa là nó chỉ sử dụng hai chữ số: 0 và 1. Mỗi vị trí trong một số nhị phân đại diện cho một lũy thừa của 2, bắt đầu từ 2^0 (bằng 1) ở bên phải cùng.
Ví dụ, số nhị phân 1101 được tính như sau:
1 × 2^3 + 1 × 2^2 + 0 × 2^1 + 1 × 2^0 = 8 + 4 + 0 + 1 = 13 (trong hệ thập phân).
Cách sử dụng Bộ Chuyển Đổi Thập Phân ↔ Nhị Phân
- 1
Nhập một con số
Gõ một số thập phân vào ô Decimal Value, hoặc một số nhị phân vào ô Binary Value.
- 2
Xem kết quả chuyển đổi
Kết quả tương ứng xuất hiện ngay lập tức ở ô còn lại khi bạn gõ, không cần nhấn nút nào.
- 3
Xem lại các bước
Kiểm tra phần Conversion Steps để theo dõi quá trình chia cho 2 tạo ra kết quả nhị phân.
- 4
Sao chép kết quả
Dùng Copy Decimal hoặc Copy Binary để lấy giá trị, hoặc Swap để đảo chiều chuyển đổi.
Chuyển đổi từ thập phân sang nhị phân
Từ cơ số 10 sang cơ số 2
Thập phân là hệ thống số cơ số 10 được dựng từ mười chữ số, 0 đến 9, mà con người dùng hằng ngày. Nhị phân là hệ cơ số 2 được dựng chỉ từ hai chữ số, 0 và 1, mà máy tính dùng bên trong vì các mạch điện của chúng có hai trạng thái ổn định. Chuyển một số thập phân sang nhị phân là biểu diễn cùng một lượng dưới dạng mà một cỗ máy lưu trữ nó; giá trị không đổi, chỉ có cách viết khác đi. Thập phân 13 và nhị phân 1101 là cùng một lượng.
Có hai cách đáng tin cậy để thực hiện phép chuyển đổi bằng tay: chia liên tiếp cho hai, vốn dựng các chữ số nhị phân từ dưới lên, và trừ các lũy thừa của hai, vốn dựng chúng từ trên xuống. Cả hai đều cho cùng một đáp án. Công cụ này trình bày phương pháp chia theo từng bước để bạn có thể theo dõi chính xác cách kết quả được tạo ra thay vì chỉ nhìn thấy chuỗi bit cuối cùng.
Phương pháp chia liên tiếp
Phương pháp chia hoạt động được vì mỗi lần chia cho hai bóc tách ra một chữ số nhị phân. Bạn chia số đó cho hai, ghi lại số dư (luôn là 0 hoặc 1), rồi chia thương cho hai và ghi số dư của nó, và bạn cứ tiếp tục cho đến khi thương đạt tới không. Các số dư chính là các chữ số nhị phân, nhưng chúng ra theo thứ tự chữ số ít quan trọng nhất trước, nên bước cuối cùng là đọc chúng theo chiều ngược lại — từ số dư cuối cùng trở về số dư đầu tiên.
Logic ở đây là hình ảnh phản chiếu của giá trị vị trí. Chia cho hai là hỏi có bao nhiêu số hai lọt vào trong con số, và số dư cho bạn biết bit hàng đơn vị có được bật hay không; lần chia tiếp theo dịch mọi thứ xuống một vị trí nhị phân và hỏi về bit hàng hai, và cứ thế. Vì mỗi bước tạo ra đúng một bit, một con số cần bấy nhiêu lần chia bằng đúng số chữ số nhị phân của nó.
Ví dụ thực tế: 13 sang nhị phân
Hãy chuyển thập phân 13 bằng cách chia liên tiếp. Chia 13 cho 2 được thương 6 dư 1. Chia 6 cho 2 được 3 dư 0. Chia 3 cho 2 được 1 dư 1. Chia 1 cho 2 được 0 dư 1. Thương giờ đã bằng không, nên bạn dừng lại.
Gom các số dư theo thứ tự được tạo ra — 1, 0, 1, 1 — rồi đảo ngược chúng để đọc chữ số quan trọng nhất trước, cho ra 1101. Vậy thập phân 13 là nhị phân 1101. Bạn có thể xác nhận điều đó bằng giá trị vị trí: 1101 là 8 + 4 + 0 + 1, cộng lại đúng bằng 13. Bảng Các Bước Chuyển Đổi trong công cụ này trình bày từng phép chia này cho bạn.
Phương pháp lũy thừa của hai
Cách tiếp cận thứ hai dựng đáp án từ trên xuống bằng giá trị vị trí. Hãy liệt kê các lũy thừa của hai không vượt quá con số của bạn — 1, 2, 4, 8, 16, 32, 64, 128, và cứ thế — rồi tìm lũy thừa lớn nhất lọt vào, trừ nó đi, và lặp lại với số dư. Mỗi lũy thừa bạn dùng đặt một số 1 vào cột đó, và mỗi lũy thừa bạn bỏ qua đặt một số 0.
Với 13, lũy thừa của hai lớn nhất lọt vào là 8, còn lại 5. Lũy thừa lớn nhất lọt vào 5 là 4, còn lại 1. Số bốn không chia nhỏ thêm được, số hai thì quá lớn, còn số 1 lọt vào vừa khít, còn lại 0. Vậy bạn đã dùng các cột 8, 4 và 1 và bỏ qua cột 2, cho ra 1101 — cùng kết quả với phương pháp chia. Nhiều người thấy cách tiếp cận này nhanh hơn một khi đã thuộc lòng các lũy thừa của hai.
Đệm, số 0 đứng đầu và độ rộng byte
Dạng nhị phân trần trụi của một con số không có số 0 đứng đầu, hệt như thập phân 13 không được viết là 0013. Nhưng máy tính lưu trữ các con số trong những ô có độ rộng cố định, nên cùng một giá trị thường được đệm thêm vào bên trái cho đủ một kích thước tiêu chuẩn. Dưới dạng một byte, 13 được viết là 00001101 — các bit có nghĩa 1101 cùng bốn số 0 đứng đầu để lấp đầy tám vị trí. Các số 0 không thay đổi giá trị; chúng chỉ đệm cho đủ độ rộng.
Việc chọn độ rộng rất quan trọng vì nó định ra khoảng giá trị có thể chứa được. Tám bit chứa được 0 đến 255, mười sáu bit chứa được 0 đến 65535, và cứ thế. Khi bạn chuyển đổi ở đây, bạn nhận được biểu diễn nhị phân tự nhiên, và bạn có thể tự đệm nó trong đầu cho khớp với độ rộng mà ngữ cảnh của bạn cần. Công cụ này cũng phòng ngừa những con số lớn đến mức vượt quá độ chính xác số nguyên an toàn, từ chối chúng thay vì trả về một kết quả không chính xác.
Số âm và phân số
Bộ chuyển đổi này làm việc với các số nguyên không âm, vốn là trường hợp bạn gặp thường xuyên nhất. Tuy vậy, cũng đáng biết hai trường hợp khó hơn được xử lý ở nơi khác như thế nào. Máy tính không lưu một dấu trừ theo nghĩa đen; thay vào đó chúng biểu diễn các số nguyên âm bằng một sơ đồ gọi là bù hai, trong đó bit quan trọng nhất chỉ ra dấu và giá trị âm được mã hóa bằng cách đảo các bit rồi cộng thêm một trong một độ rộng cố định.
Phân số lại dùng một cơ chế khác nữa. Phần sau dấu phẩy nhị phân được dựng từ các lũy thừa âm của hai — một nửa, một phần tư, một phần tám, và cứ thế — và phần lớn phân số thập phân, chẳng hạn 0.1, không thể viết chính xác trong nhị phân, đó là gốc rễ của những sai số làm tròn nhỏ mà đôi khi bạn thấy trong số học dấu phẩy động. Với việc chuyển đổi số nguyên hằng ngày, các phương pháp chia và lũy thừa của hai ở trên là tất cả những gì bạn cần.
Nơi nó hữu ích
Chuyển đổi thập phân sang nhị phân là một kỹ năng cốt lõi trong giáo dục khoa học máy tính và là một câu hỏi thi thường gặp, bởi nó làm cho mối quan hệ giữa con số của con người và cách máy lưu trữ trở nên cụ thể. Một khi bạn có thể biến 13 thành 1101 bằng tay, những ý niệm như kích thước dữ liệu, tràn số nguyên và thao tác bit trở nên dễ theo dõi hơn nhiều.
Nó cũng rất thực dụng. Lập trình viên chuyển các giá trị thập phân sang nhị phân để đặt cờ bit, dựng mặt nạ bit, và suy luận về dữ liệu ở mức thấp. Kỹ sư mạng biến các octet thập phân của địa chỉ IP thành nhị phân để tính ra ranh giới subnet. Công việc về điện tử số và vi điều khiển liên tục di chuyển giữa những con số thập phân mà con người chỉ định và những mẫu nhị phân mà phần cứng thực sự sử dụng, và một bộ chuyển đổi nhanh, từng bước sẽ giữ cho sự phiên dịch đó luôn chính xác.
Câu hỏi thường gặp
Công cụ có chuyển đổi cả hai chiều không?
Tôi có thể xem cách tính chuyển đổi không?
Điều gì được coi là dữ liệu nhị phân hợp lệ?
Có giới hạn về độ lớn của con số không?
Dữ liệu của tôi có được giữ riêng tư không?
Công cụ liên quan
Tiếp tục với những công cụ hữu ích này