Hệ nhị phân
Phương pháp chuyển hệ từ nhị phân sang các hệ khác và ngược lại > Hệ thập phân

Phương pháp này có thể áp dụng để chuyển số từ bất cứ gốc nào, song bên cạnh đó còn có những phương thức tốt hơn cho những số là tích số của một mũ, với số nguyên 2, chẳng hạn như hệ bát phân (23), và hệ thập lục phân (24) liệt kê dưới đây.
Trong các hệ thống số với giá trị của con số được định vị bởi vị trí của nó trong một dãy các ký hiệu con số, những con số ở vị trí thấp hơn, hoặc vị trí ít quan trọng hơn (ít quan trọng hơn là vì khi tính toán các số lớn và sai số xảy ra, mất những số này sẽ không quan trọng và không gây ảnh hưởng lớn đến kết quả tính toán, chẳng hạn số thập phân 10034 có thể được tính tròn số lại thành 10000 trong một thống kê dân số mà không gây ảnh hưởng lớn đến kết quả thống kê), thường có số mũ nhỏ hơn theo hệ số gốc (20 < 23). Số mũ đầu tiên, là một số kém hơn số lượng các chữ số, của một con số nào đó, bởi 1 giá trị. Một con số có 5 chữ số sẽ có số mũ đầu tiên bằng 4. Trong hệ thập phân, gốc của hệ là 10, vậy số cuối cùng ở bên trái của một số có 5 chữ số có số mũ là 4, được thể hiện là ở vị trí 104 (chục nghìn). Xem xét ví dụ sau:
| 0 | 1 | 2 | 3 |
| --- | --- | --- | --- |
| 9 × 104 (9 × | 10000 = | 90000) | cộng |
| 7 × 103 (7 × | 1000 = | 7000) | cộng |
| 3 × 102 (3 × | 100 = | 300) | cộng |
| 5 × 101 (5 × | 10 = | 50) | cộng |
| 2 × 100 (2 × | 1 = | 2) |  |
Phép nhân với gốc của hệ số trở thành một phép tính đơn giản. Vị trí của các chữ số được dịch sang bên trái một vị trí, và số 0 được thêm vào ở phía bên phải của dãy các con số. Ví dụ 9735 nhân 10 bằng 97350. Một cách định giá trị của một dãy các con số, khi một con số được cộng vào sau con số cuối cùng, bằng cách nhân tất cả các chữ số trước con số cuối cùng ấy với gốc của hệ, trừ số cuối cùng ra, rồi cộng với con số ấy sau cùng. 97352 = 9735 x 10 + 2. Một ví dụ trong hệ nhị phân là 11011001112 = 1101100112 x 2 + 1. Đây chính là mấu chốt của phép biến đổi hệ số. Trong mỗi bước làm, chúng ta viết xuống con số sẽ phải đổi hệ theo công thức 2 × k + 0 hoặc 2 × k + 1 với một số nguyên k nào đó, và nó sẽ trở thành một số mới mà chúng ta muốn đổi.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| --- | --- | --- | --- | --- | --- | --- |
| 59 × 2 + | 59 × 2 + | 59 × 2 + | 59 × 2 + | 59 × 2 + | 59 × 2 + | 0 |
| (29 × 2 + | (29 × 2 + | (29 × 2 + | (29 × 2 + | (29 × 2 + | 1) × 2 + | 0 |
| ((14 × 2 + | ((14 × 2 + | ((14 × 2 + | ((14 × 2 + | 1) × 2 + | 1) × 2 + | 0 |
| (((7 × 2 + | (((7 × 2 + | (((7 × 2 + | 0) × 2 + | 1) × 2 + | 1) × 2 + | 0 |
| ((((3 × 2 + | ((((3 × 2 + | 1) × 2 + | 0) × 2 + | 1) × 2 + | 1) × 2 + | 0 |
| (((((1 × 2 + | 1) × 2 + | 1) × 2 + | 0) × 2 + | 1) × 2 + | 1) × 2 + | 0 |
Do vậy phương pháp biến đổi một số nguyên, ở hệ thập phân sang hệ nhị phân tương đương, có thể được tiến hành bằng cách chia số này cho 2, và những số dư được viết xuống vào hàng (đơn vị) của nó. Kết quả lại tiếp tục được chia 2, và số dư lại được viết xuống vào hàng (chục) của nó. Phương thức này được tiếp tục nhắc lại cho đến khi thương số của phép chia là 0.
Ví dụ, 118, trong hệ thập phân là:
| Phép tính | Số dư |
| --- | --- |
118 ÷ 2 = 59: 0
59 ÷ 2 = 29: 1
29 ÷ 2 = 14: 1
14 ÷ 2 = 7: 0
7 ÷ 2 = 3: 1
3 ÷ 2 = 1: 1
1 ÷ 2 = 0: 1
Lược trình các con số dư theo thứ tự từ dưới lên trên, cho chúng ta một số nhị phân 11101102.
Để biến đổi một số nhị phân sang hệ thập phân, chúng làm ngược lại. Bắt đầu từ bên trái, nhân đôi kết quả, rồi cộng con số bên cạnh cho đến khi không còn con số nào nữa. Lấy ví dụ để đổi 1100101011012 sang hệ thập phân:
| Kết quả | Số còn lại |
| --- | --- |
0: 110010101101
0 × 2 + 1 = 1: 10010101101
1 × 2 + 1 = 3: 0010101101
3 × 2 + 0 = 6: 010101101
6 × 2 + 0 = 12: 10101101
12 × 2 + 1 = 25: 0101101
25 × 2 + 0 = 50: 101101
50 × 2 + 1 = 101: 01101
101 × 2 + 0 = 202: 1101
202 × 2 + 1 = 405: 101
405 × 2 + 1 = 811: 01
811 × 2 + 0 = 1622: 1
1622 × 2 + 1 = 3245: 
Kết quả là 3245.
Phần phân số trong một số tự nhiên được biến đổi với cùng một phương pháp, dựa vào phép toán chuyển vị nhị phân để tăng gấp đôi hoặc giảm xuống một nửa giá trị của con số.
Với phân số nhị phân có giá trị "0,110101101012", giá trị của con số đầu tiên của phần thập phân là  {\begin{matrix}{\frac {1}{2}}\end{matrix}}, của con số thứ hai là  {\begin{matrix}({\frac {1}{2}})^{2}={\frac {1}{4}}\end{matrix}}, vân vân. Vậy nếu chúng ta có giá trị 1 ngay sau dấu phẩy thì giá trị của số thập phân ít nhất phải là  {\begin{matrix}{\frac {1}{2}}\end{matrix}}, và tương tự ngược lại. Nếu chúng ta gấp đôi giá trị của con số đó lên thì giá trị của số phải ít nhất là 1. Điều này khiến chúng ta liên tưởng đến một thuật toán: liên tục nhân đôi con số chúng ta cần biến đổi, ghi lại kết quả nếu kết quả ít nhất là 1, nhưng vứt đi phần số nguyên.
Ví dụ:  {\begin{matrix}({\frac {1}{3}})\end{matrix}}, trong nhị phân là:
| Biến đổi | Kết quả |
| --- | --- |
 {\begin{matrix}{\frac {1}{3}}\end{matrix}}: 0,
 {\begin{matrix}{\frac {1}{3}}\times 2={\frac {2}{3}}<1\end{matrix}}: 0,0
 {\begin{matrix}{\frac {2}{3}}\times 2=1{\frac {1}{3}}\geq 1\end{matrix}}: 0,01
 {\begin{matrix}{\frac {1}{3}}\times 2={\frac {2}{3}}<1\end{matrix}}: 0,010
 {\begin{matrix}{\frac {2}{3}}\times 2=1{\frac {1}{3}}\geq 1\end{matrix}}: 0,0101
Vì vậy phần phân số nhắc đi nhắc lại 0,333... tương đương với phần phân số nhắc đi nhắc lại trong hệ nhị phân 0,0101....
hoặc lấy ví dụ số 0,110, trong hệ nhị phân là:
| Biến đổi | Kết quả |
| --- | --- |
0,1: 0,
0.1 × 2 = 0,2 < 1: 0,0
0.2 × 2 = 0,4 < 1: 0,00
0.4 × 2 = 0,8 < 1: 0,000
0.8 × 2 = 1,6 ≥ 1: 0,0001
0.6 × 2 = 1,2 ≥ 1: 0,00011
0.2 × 2 = 0,4 < 1: 0,000110
0.4 × 2 = 0,8 < 1: 0,0001100
0.8 × 2 = 1,6 ≥ 1: 0,00011001
0.6 × 2 = 1,2 ≥ 1: 0,000110011
0.2 × 2 = 0,4 < 1: 0,0001100110
Đây cũng là một phân số vô hạn tuần hoàn 0,000110011.... Có một điều đáng ngạc nhiên là có những phân số thập phân không tuần hoàn nhưng khi chuyển sang nhị phân, nó lại trở thành một phân số tuần hoàn. Chính vì lý do này mà nhiều người thấy ngạc nhiên khi họ kiểm nghiệm thấy phép cộng 0,1 +... + 0,1 (gồm 10 số hạng) khác với giá trị một trong khi giải toán dùng phép toán phân số (floating point arithmetic). Thực tế cho thấy, phân số nhị phân chỉ không tuần hoàn khi dạng thập phân của nó là thương của phép chia giữa một số nguyên và lũy thừa cơ số  2({\frac {1}{2}},{\frac {1}{4}},{\frac {3}{8}}...) chứ không phải giữa một số nguyên và bội của  10({\frac {1}{10}},{\frac {3}{100}}...).
Phương pháp biến đổi sau cùng là cách đổi phân số nhị phân sang thập phân. Khó khăn duy nhất là trường hợp của những phân số tuần hoàn, ngoài ra, phương pháp này có thể được thực hiện bằng cách dịch vị trí của dấu thập phân, làm tròn thành số nguyên, biến đổi như cách ở trên, sau đó chia với số mũ của 2 tương ứng trong hệ thập phân. Lấy ví dụ:
| 0 | 1 | 2 | 3 |
| --- | --- | --- | --- |
|  x | = | 1100 | ,101110011100... |
|  x\times 2^{6} | = | 1100101110 | ,0111001110... |
|  x\times 2 | = | 11001 | ,0111001110... |
|  x\times (2^{6}-2) | = | 1100010101 |  |

|  x | = | (789/62)10 |  |
Một cách khác để biến đổi hệ nhị phân sang thập phân nhanh hơn, đối với những người đã quen thuộc với hệ thập lục phân, là làm bằng cách gián tiếp, đầu tiên đổi ( x trong hệ nhị phân) sang ( x trong hệ thập lục phân), rồi đổi ( x trong hệ thập lục phân) sang ( x hệ thập phân).