Khoa học máy tính chuyển đổi số sang hệ nhị phân. Số nhị phân, chữ số và hệ thống số nhị phân. Chuyển đổi một số từ số thập phân sang nhị phân
2.3. Chuyển đổi số từ hệ thống số này sang hệ thống số khác
2.3.1. Chuyển đổi số nguyên từ hệ thống số này sang hệ thống số khác
Có thể xây dựng thuật toán chuyển đổi số nguyên từ hệ cơ số P thành một hệ thống có cơ sở q :
1. Thể hiện cơ số của hệ thống số mới bằng các số từ hệ thống số ban đầu và thực hiện mọi thao tác tiếp theo trong hệ thống số ban đầu.
2. Chia nhất quán số đã cho và các thương số nguyên thu được cho cơ số của hệ thống số mới cho đến khi chúng ta thu được thương số nhỏ hơn số chia.
3. Số dư thu được là các chữ số của số trong hệ đếm mới được đưa về đúng bảng chữ cái của hệ đếm mới.
4. Soạn một số trong hệ thống số mới, viết nó bắt đầu từ số dư cuối cùng.
Ví dụ 2.12. Chuyển đổi số thập phân 173 10 sang hệ bát phân:
Ta được: 173 10 =255 8
Ví dụ 2.13. Chuyển số thập phân 173 10 sang hệ thập lục phân:
Chúng ta nhận được: 173 10 = AD 16.
Ví dụ 2.14. Chuyển số thập phân 11 10 sang hệ nhị phân. Sẽ thuận tiện hơn khi mô tả chuỗi hành động được thảo luận ở trên (thuật toán dịch) như sau:
Chúng ta nhận được: 11 10 =1011 2.
Ví dụ 2.15.Đôi khi sẽ thuận tiện hơn khi viết thuật toán dịch dưới dạng bảng. Hãy chuyển đổi số thập phân 363 10 thành số nhị phân.
Dải phân cách |
|||||||||
Chúng tôi nhận được: 363 10 =101101011 2
2.3.2. Chuyển đổi số phân số từ hệ thống số này sang hệ thống số khác
Có thể xây dựng thuật toán chuyển đổi một phân số thích hợp với cơ số P thành một phân số có cơ số q:
1. Thể hiện cơ số của hệ thống số mới bằng các số từ hệ thống số ban đầu và thực hiện mọi thao tác tiếp theo trong hệ thống số ban đầu.
2. Nhân một cách nhất quán các số đã cho và phần phân số thu được của tích với cơ số của hệ thống mới cho đến khi phần phân số của tích bằng 0 hoặc đạt được độ chính xác cần thiết của việc biểu diễn số.
3. Các phần nguyên thu được của sản phẩm là các chữ số của số trong hệ thống số mới phải phù hợp với bảng chữ cái của hệ thống số mới.
4. Soạn phần phân số của một số trong hệ đếm mới, bắt đầu từ phần nguyên của tích đầu tiên.
Ví dụ 2.17. Chuyển số 0,65625 10 sang hệ bát phân.
Chúng tôi nhận được: 0,65625 10 = 0,52 8
Ví dụ 2.17. Chuyển số 0,65625 10 sang hệ thập lục phân.
x 16 |
|
Ta được: 0,65625 10 =0,A8 1
Ví dụ 2.18. Chuyển phân số thập phân 0,5625 10 sang hệ nhị phân.
x 2 |
|
x 2 |
|
x 2 |
|
x 2 |
|
Chúng tôi nhận được: 0,5625 10 = 0,1001 2
Ví dụ 2.19. Chuyển phân số thập phân 0,7 10 sang hệ nhị phân.
Rõ ràng, quá trình này có thể tiếp tục vô tận, tạo ra ngày càng nhiều dấu hiệu mới trong ảnh nhị phân tương đương của số 0,7 10. Vì vậy, trong bốn bước, chúng ta nhận được số 0,1011 2 và trong bảy bước, số 0,1011001 2, là cách thể hiện chính xác hơn số 0,7 10 trong hệ thống số nhị phân, v.v. Quá trình vô tận như vậy sẽ kết thúc ở một bước nào đó, khi người ta tin rằng đã đạt được độ chính xác cần thiết của việc biểu diễn số.
2.3.3. Dịch số tùy ý
Dịch các số tùy ý, tức là các số chứa phần nguyên và phần phân số được thực hiện theo hai giai đoạn, phần nguyên được dịch riêng và phần phân số được dịch riêng. Trong bản ghi cuối cùng của số kết quả, phần nguyên được phân tách khỏi phần phân số bằng dấu phẩy (dấu chấm).
Ví dụ 2.20. Chuyển số 17,25 10 sang hệ nhị phân.
Chúng tôi nhận được: 17,25 10 =1001,01 2
Ví dụ 2.21. Chuyển số 124,25 10 sang hệ bát phân.
Ta được: 124,25 10 =174,2 8
2.3.4. Chuyển số từ cơ số 2 sang cơ số 2 n và ngược lại
Dịch số nguyên. Nếu cơ số của hệ số q-ary là lũy thừa của 2 thì việc chuyển đổi các số từ hệ số q-ary sang hệ số 2-ary và ngược lại có thể được thực hiện theo những quy tắc đơn giản hơn. Để viết một số nhị phân nguyên trong hệ thống số có cơ số q=2 n, bạn cần:
1. Chia số nhị phân từ phải sang trái thành các nhóm có n chữ số.
2. Nếu nhóm cuối cùng bên trái có ít hơn n chữ số thì phải thêm số 0 vào bên trái để đủ số chữ số cần thiết.
Ví dụ 2.22. Số 101100001000110010 2 sẽ được chuyển sang hệ bát phân.
Chúng ta chia số từ phải sang trái thành các bộ ba và viết chữ số bát phân tương ứng dưới mỗi bộ đó:
Chúng ta nhận được biểu diễn bát phân của số ban đầu: 541062 8 .
Ví dụ 2.23. Số 1000000000111110000111 2 sẽ được chuyển sang hệ thập lục phân.
Chúng ta chia số từ phải sang trái thành các tứ giác và viết chữ số thập lục phân tương ứng dưới mỗi số đó:
Chúng ta nhận được biểu diễn thập lục phân của số ban đầu: 200F87 16.
Chuyển đổi số phân số.Để viết một số nhị phân phân số trong một hệ số có cơ số q=2 n, bạn cần:
1. Chia số nhị phân từ trái sang phải thành các nhóm có n chữ số.
2. Nếu nhóm bên phải cuối cùng có ít hơn n chữ số thì phải thêm số 0 vào bên phải để đủ số chữ số yêu cầu.
3. Coi mỗi nhóm là một số nhị phân n bit và viết nó bằng chữ số tương ứng trong hệ thống số có cơ số q=2 n.
Ví dụ 2.24. Số 0.10110001 2 sẽ được chuyển sang hệ bát phân.
Chúng ta chia số từ trái sang phải thành các bộ ba và dưới mỗi bộ ba chúng ta viết chữ số bát phân tương ứng:
Chúng ta nhận được biểu diễn bát phân của số ban đầu: 0,542 8 .
Ví dụ 2.25. Số 0.100000000011 2 sẽ được chuyển sang hệ thập lục phân. Chúng ta chia số từ trái sang phải thành các tứ giác và viết chữ số thập lục phân tương ứng dưới mỗi số đó:
Chúng ta nhận được biểu diễn thập lục phân của số ban đầu: 0,803 16
Dịch các số tùy ý.Để viết một số nhị phân tùy ý trong hệ thống số có cơ số q=2 n, bạn cần:
1. Chia phần nguyên của một số nhị phân cho trước từ phải sang trái, phần phân số từ trái sang phải thành các nhóm có n chữ số.
2. Nếu nhóm bên trái và/hoặc nhóm bên phải cuối cùng có ít hơn n chữ số thì ở bên trái và/hoặc nhóm bên phải phải thêm số 0 vào số chữ số yêu cầu;
3. Coi mỗi nhóm là một số nhị phân n bit và viết nó bằng chữ số tương ứng trong hệ thống số có cơ số q = 2 n
Ví dụ 2.26. Hãy chuyển số 111100101.0111 2 sang hệ bát phân.
Chúng ta chia phần nguyên và phần phân số của số thành các bộ ba và viết chữ số bát phân tương ứng dưới mỗi bộ ba:
Chúng ta nhận được biểu diễn bát phân của số ban đầu: 745,34 8 .
Ví dụ 2.27. Số 11101001000,11010010 2 sẽ được chuyển sang hệ thập lục phân.
Chúng tôi chia phần nguyên và phần phân số của số vào sổ ghi chép và viết chữ số thập lục phân tương ứng dưới mỗi phần:
Chúng ta nhận được biểu diễn thập lục phân của số ban đầu: 748,D2 16.
Chuyển đổi số từ hệ số có cơ số q=2n sang nhị phân.Để chuyển một số tùy ý được viết trong hệ số có cơ số q=2 n sang hệ số nhị phân, bạn cần thay thế từng chữ số của số này bằng n chữ số tương đương trong hệ thống số nhị phân.
Ví dụ 2.28.Hãy chuyển đổi số thập lục phân 4AC35 16 sang hệ thống số nhị phân.
Theo thuật toán:
Chúng tôi nhận được: 1001010110000110101 2 .
Nhiệm vụ hoàn thành độc lập (Đáp án)
2,38. Điền vào bảng, trong mỗi hàng của cùng một số nguyên phải được viết bằng các hệ số khác nhau.
nhị phân |
bát phân |
Số thập phân |
thập lục phân |
2,39. Điền vào bảng, trong mỗi hàng phải viết cùng một số phân số theo các hệ số khác nhau.
nhị phân |
bát phân |
Số thập phân |
thập lục phân |
2,40. Điền vào bảng, trong mỗi hàng có cùng một số tùy ý (số có thể chứa cả số nguyên và phần phân số) phải được viết bằng các hệ số khác nhau.
nhị phân |
bát phân |
Số thập phân |
thập lục phân |
59.B |
Trong bài viết này tôi sẽ cho bạn biết những điều cơ bản về công nghệ máy tính - đây là một hệ thống nhị phân. Đây là mức thấp nhất, đây là những con số mà máy tính hoạt động. Và bạn sẽ học cách chuyển từ một hệ thống
Bảng 1 - Biểu diễn số trong các hệ thống khác nhau
phép tính (bắt đầu)
Hệ thống số |
||||
Số thập phân |
nhị phân |
bát phân |
thập lục phân |
BCD |
Để chuyển đổi từ thập phân sang nhị phân, bạn có hai lựa chọn.
1) Ví dụ số 37 cần chuyển từ hệ thập phân sang hệ nhị phân thì cần chia cho 2 rồi kiểm tra phần dư của phép chia. Nếu số dư là số lẻ thì ta viết số 1 ở dưới cùng và phép chia tiếp theo là số chẵn; nếu số dư của phép chia là số chẵn thì ta viết số 0. Cuối cùng, bạn phải nhận được 1. Và bây giờ chúng tôi chuyển kết quả thu được thành nhị phân và số đi từ phải sang trái.
Từng bước: 37 là số lẻ, nghĩa là 1 , thì 36/2 = 18. Số chẵn có nghĩa là 0. 18/2 = 9 là số lẻ, nghĩa là 1 , thì 8/2 = 4. Số chẵn, đọc là 0. 4/2 = 2, số chẵn có nghĩa là 0, 2/2 = 1.
Vì vậy, chúng tôi đã nhận được số. Đừng quên đếm từ phải sang trái: 100101 - bây giờ chúng ta có một số trong hệ nhị phân. Nói chung, điều này được viết dưới dạng phép chia trong một cột, như bạn thấy trong hình bên dưới:
2) Nhưng có cách thứ hai. Tôi thích anh ấy hơn. Chuyển từ hệ thống này sang hệ thống khác như sau:
trong đó ai là chữ số thứ i của số;
k - số chữ số trong phần phân số của số;
m - số chữ số trong phần nguyên của số;
N là cơ số của hệ thống số.
Cơ số của hệ số N cho biết “trọng số” của chữ số thứ i lớn hơn “trọng số” (i-1) của chữ số đó bao nhiêu lần. Phần nguyên của số được phân cách với phần phân số bằng dấu chấm (dấu phẩy).
Phần nguyên của số AN1 cơ số N1 được chuyển đổi sang hệ thống số cơ số N2 bằng cách chia tuần tự phần nguyên của số AN1 cho cơ số N2 viết dưới dạng số có cơ số N1 cho đến khi có số dư là thu được Phần thu được lại được chia cho cơ sở N2 và quá trình này phải lặp lại cho đến khi hạt trở nên nhỏ hơn số chia. Phần dư của phép chia và phần cuối được viết theo thứ tự ngược lại khi chia. Số được tạo sẽ là số nguyên có cơ số N2.
Phần phân số của số AN1 cơ số N1 được chuyển đổi thành hệ thống số cơ số N2 bằng cách nhân tuần tự phần phân số của số AN1 với cơ số N2, viết dưới dạng số có cơ số N1. Với mỗi phép nhân, phần nguyên của tích được lấy dưới dạng chữ số tiếp theo của chữ số tương ứng và phần phân số của phần còn lại được lấy làm phép nhân mới. Số phép nhân xác định khả năng chữ số của kết quả thu được, biểu thị phần phân số của số AN1 trong hệ số N2. Phần phân số của một số thường được biểu diễn không chính xác khi dịch.
Hãy làm điều này với một ví dụ:
Chuyển đổi từ thập phân sang nhị phân
37 trong số thập phân phải được chuyển đổi sang nhị phân. Hãy làm việc với độ:
2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1024, v.v... đến vô cùng
Điều này có nghĩa là: 37 - 32 = 5. 5 - 4 = 1. Câu trả lời như sau ở dạng nhị phân: 100101.
Hãy chuyển đổi số 658 từ thập phân sang nhị phân:
658-512=146
146-128=18
18-16=2. Trong hệ nhị phân, số sẽ có dạng: 1010010010.
Chuyển đổi từ thập phân sang bát phân
Nếu bạn cần chuyển đổi từ thập phân sang bát phân, trước tiên bạn phải chuyển đổi sang nhị phân, sau đó chuyển đổi từ nhị phân sang bát phân. Nghĩa là, cách này dễ dàng hơn, mặc dù bạn có thể dịch nó ngay lập tức. Sử dụng thuật toán tương tự như thuật toán chuyển đổi sang nhị phân, xem ở trên.
Chuyển đổi từ thập phân sang thập lục phân
Nếu bạn cần chuyển đổi từ thập phân sang thập lục phân, trước tiên bạn phải chuyển đổi sang nhị phân và sau đó chuyển đổi từ nhị phân sang thập lục phân. Nghĩa là, cách này dễ dàng hơn, mặc dù bạn có thể dịch nó ngay lập tức. Sử dụng thuật toán tương tự như thuật toán chuyển đổi sang nhị phân, xem ở trên.
Chuyển đổi từ nhị phân sang bát phân
Để chuyển đổi một số từ nhị phân sang bát phân, bạn cần chia nhị phân thành ba số.
Ví dụ: số kết quả 1010010010 được chia thành ba số và phép chia đi từ phải sang trái: 1.010.010.010 = 1222. Hãy xem bảng ở đầu.
Chuyển đổi từ nhị phân sang thập lục phân
Để chuyển đổi một số từ nhị phân sang thập lục phân, bạn cần chia nó thành bốn phần (mỗi phần bốn)
10 1001 0010 = 292
Dưới đây là một vài ví dụ để bạn xem qua:
Chuyển đổi từ nhị phân sang bát phân, sau đó sang thập lục phân, rồi từ nhị phân sang thập phân
(2) = 11101110
(8) = 11 101 110 = 276
(16) = 1110 1110 = EE
(10) = 1*128+ 1*64+ 1*32+ 0 +1*8 + 1*4 + 1*2+ 0= 238
3) (8) = 657
Việc chuyển đổi được thực hiện từ hệ thập lục phân sang nhị phân, sau đó sang bát phân, rồi từ nhị phân sang thập phân.
(16) = 6E8
(2) = 110 1110 1000
(8) = 11 011 101 000 = 2250
(10) = 1*1024+1*512+ 0 +1*128+ 1*64+ 1*32+ 8 = 1768
Viết số trong hệ nhị phân và lũy thừa của hai từ phải sang trái. Ví dụ: chúng tôi muốn chuyển đổi số nhị phân 10011011 2 thành số thập phân. Hãy viết nó ra trước. Sau đó chúng ta viết lũy thừa của hai từ phải sang trái. Hãy bắt đầu với 2 0, bằng "1". Chúng tôi tăng mức độ lên một cho mỗi số tiếp theo. Chúng ta dừng khi số phần tử trong danh sách bằng số chữ số trong số nhị phân. Số ví dụ của chúng ta, 10011011, có tám chữ số, do đó, danh sách tám phần tử sẽ trông như thế này: 128, 64, 32, 16, 8, 4, 2, 1 Viết các chữ số của số nhị phân dưới lũy thừa tương ứng của 2. Bây giờ chỉ cần viết 10011011 dưới các số 128, 64, 32, 16, 8, 4, 2 và 1, sao cho mỗi chữ số nhị phân tương ứng với một lũy thừa 2 khác nhau. Số "1" ngoài cùng bên phải của số nhị phân phải tương ứng với số "1" ngoài cùng bên phải của lũy thừa hai, v.v. Nếu muốn, bạn có thể viết số nhị phân trên lũy thừa hai. Điều quan trọng nhất là chúng phù hợp với nhau. Ghép các chữ số trong số nhị phân với lũy thừa tương ứng của hai. Vẽ các đường thẳng (từ phải sang trái) nối từng chữ số liên tiếp của số nhị phân với lũy thừa của hai chữ số phía trên nó. Bắt đầu vẽ các đường bằng cách nối chữ số đầu tiên của số nhị phân với lũy thừa đầu tiên của hai số ở trên nó. Sau đó vẽ một đường thẳng từ chữ số thứ hai của số nhị phân đến lũy thừa thứ hai của hai. Tiếp tục kết nối mỗi số với lũy thừa tương ứng của hai. Điều này sẽ giúp bạn nhìn thấy trực quan mối quan hệ giữa hai bộ số khác nhau. Viết giá trị cuối cùng của mỗi lũy thừa của hai.Đi qua từng chữ số của một số nhị phân. Nếu số đó là 1, hãy viết lũy thừa tương ứng của 2 dưới số đó. Nếu số này là 0 thì viết số 0 dưới số đó.
Cộng các giá trị kết quả. Bây giờ thêm các số kết quả dưới dòng. Đây là những gì bạn phải làm: 128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 = 155. Đây là số thập phân tương đương với số nhị phân 10011011. Viết câu trả lời cùng với chỉ số dưới bằng hệ thống số. Bây giờ tất cả những gì bạn phải làm là viết 155 10 để cho thấy rằng bạn đang làm việc với một câu trả lời thập phân, liên quan đến lũy thừa của mười. Bạn càng chuyển đổi số nhị phân thành số thập phân nhiều thì bạn càng dễ nhớ lũy thừa của hai và bạn càng có thể hoàn thành nhiệm vụ nhanh hơn. Sử dụng phương pháp này để chuyển đổi số nhị phân có dấu thập phân sang dạng thập phân. Bạn có thể sử dụng phương pháp này ngay cả khi bạn muốn chuyển đổi một số nhị phân chẳng hạn như 1,1 2 thành số thập phân. Tất cả những gì bạn cần biết là số ở bên trái của số thập phân là số thông thường và số ở bên phải của số thập phân là số "một nửa", hay 1 x (1/2).
Xin chào, khách truy cập trang web! Chúng tôi tiếp tục nghiên cứu giao thức lớp mạng IP và chính xác hơn là phiên bản IPv4 của nó. Thoạt nhìn chủ đề số nhị phân và hệ thống số nhị phân không liên quan gì đến giao thức IP, nhưng nếu chúng ta nhớ rằng máy tính hoạt động với số 0 và số 1, thì hóa ra hệ thống nhị phân và sự hiểu biết về nó là nền tảng của các nguyên tắc cơ bản, chúng ta cần học cách chuyển đổi số từ nhị phân sang thập phân và ngược lại: thập phân sang nhị phân. Điều này sẽ giúp chúng ta hiểu rõ hơn về giao thức IP, cũng như nguyên lý hoạt động của các mặt nạ mạng có độ dài thay đổi. Bắt đầu nào! Nếu chủ đề về mạng máy tính khiến bạn hứng thú, bạn có thể đọc các bản ghi khóa học khác. 4.4.1 Giới thiệuTrước khi chúng ta bắt đầu, cần giải thích lý do tại sao một kỹ sư mạng cần chủ đề này. Mặc dù bạn có thể bị thuyết phục về sự cần thiết của nó khi chúng tôi nói chuyện, bạn có thể nói rằng có những máy tính IP hỗ trợ rất nhiều cho nhiệm vụ phân bổ địa chỉ IP, tính toán các mặt nạ mạng/mạng con cần thiết và xác định số mạng và số máy chủ trong địa chỉ IP. Đúng vậy, nhưng không phải lúc nào cũng có sẵn máy tính IP, đây là lý do số một. Lý do thứ hai là trong các kỳ thi của Cisco, họ sẽ không cung cấp cho bạn máy tính IP và chỉ vậy thôi. bạn sẽ phải thực hiện chuyển đổi địa chỉ IP từ thập phân sang nhị phân trên một tờ giấy, và cũng không ít câu hỏi bắt buộc phải có điều này trong kỳ thi/kỳ thi lấy chứng chỉ CCNA, sẽ thật đáng tiếc nếu kỳ thi trượt chỉ vì một chuyện vặt vãnh như vậy. Và cuối cùng, việc hiểu hệ thống số nhị phân sẽ dẫn đến hiểu rõ hơn về nguyên lý hoạt động. Nói chung, một kỹ sư mạng không bắt buộc phải có khả năng chuyển đổi các số từ nhị phân sang thập phân và ngược lại trong đầu. Hơn nữa, hiếm ai biết cách thực hiện việc này trong đầu, giáo viên của các khóa học khác nhau trên mạng máy tính chủ yếu thuộc loại này, vì họ liên tục gặp phải điều này hàng ngày. Nhưng với một mảnh giấy và một cây bút, bạn nên học cách dịch. 4.4.2 Chữ số và số thập phân, chữ số trong sốHãy bắt đầu đơn giản và nói về các chữ số và số nhị phân, bạn biết rằng số và số là hai thứ khác nhau. Số là ký hiệu đặc biệt để chỉ định và số là ký hiệu trừu tượng cho số lượng. Ví dụ, để viết rằng bàn tay chúng ta có 5 ngón, chúng ta có thể sử dụng chữ số La Mã và Ả Rập: V và 5. Trong trong trường hợp này năm vừa là số vừa là chữ số. Và, ví dụ, để viết số 20 chúng ta sử dụng hai chữ số: 2 và 0. Tổng cộng, trong hệ thống số thập phân chúng ta có mười chữ số hoặc mười ký hiệu (0,1,2,3,4,5,6,7,8,9), bằng cách kết hợp chúng ta có thể viết được các số khác nhau. Chúng ta được hướng dẫn nguyên tắc gì khi sử dụng hệ thống số thập phân? Vâng, mọi thứ rất đơn giản, chúng ta nâng 10 lên lũy thừa này hay lũy thừa khác, chẳng hạn, hãy lấy số 321. Làm sao nó có thể được viết khác đi, như thế này: 3*10 2 +2*10 1 +1*10 0 . Như vậy, hóa ra số 321 đại diện cho ba chữ số:
Nghĩa là, trong mục này, hai không chỉ là hai mà là hai chục hoặc hai lần mười. Và ba không chỉ là ba, mà là ba lần một trăm. Ta thu được sự phụ thuộc sau: đơn vị của mỗi chữ số tiếp theo lớn hơn mười lần đơn vị của chữ số trước đó, vì 300 bằng ba lần một trăm. Cần phải có một sự lạc đề liên quan đến hệ thống số thập phân để làm cho hệ thống nhị phân dễ hiểu hơn. 4.4.3 Các chữ số và số nhị phân cũng như cách ghi của chúngChỉ có hai chữ số trong hệ thống số nhị phân: 0 và 1. Vì vậy, cách viết số trong hệ nhị phân thường lớn hơn rất nhiều so với cách viết trong hệ thập phân. Ngoại trừ các số 0 và 1, số 0 trong hệ thống số nhị phân bằng 0 trong hệ thống số thập phân và điều này cũng đúng với một. Đôi khi, để không nhầm lẫn số được viết bằng hệ thống số nào, các chỉ số phụ được sử dụng: 267 10, 10100 12, 4712 8. Số trong chỉ mục phụ biểu thị hệ thống số. Các ký hiệu 0b và &(dấu và) có thể được sử dụng để viết các số nhị phân: 0b10111, &111. Nếu trong hệ thập phân, để phát âm số 245 chúng ta sử dụng cấu trúc: hai trăm bốn mươi lăm, thì trong hệ số nhị phân, để đặt tên cho số, chúng ta cần phát âm một chữ số từ mỗi chữ số, ví dụ: Số 1100 trong hệ nhị phân không được phát âm là nghìn một trăm mà phải đọc như một, một, không, không. Hãy xem cách viết các số từ 0 đến 10 trong hệ thống số nhị phân: Tôi nghĩ bây giờ logic đã rõ ràng rồi. Nếu trong hệ thống số thập phân cho mỗi chữ số, chúng ta có sẵn mười tùy chọn (bao gồm từ 0 đến 9), thì trong hệ thống số nhị phân ở mỗi chữ số của số nhị phân, chúng ta chỉ có hai tùy chọn: 0 hoặc 1. Để làm việc với địa chỉ IP và mặt nạ mạng con, chúng ta chỉ cần số tự nhiên trong hệ thống số nhị phân, mặc dù hệ nhị phân cho phép chúng ta viết số phân số và số âm nhưng chúng ta không cần điều này. 4.4.4 Chuyển số từ thập phân sang nhị phânChúng ta hãy nhìn rõ hơn về điều này cách chuyển một số từ thập phân sang nhị phân. Và ở đây mọi thứ thực sự rất, rất đơn giản, mặc dù rất khó để giải thích bằng lời, vì vậy tôi sẽ đưa ra ngay ví dụ về chuyển đổi số từ thập phân sang nhị phân. Hãy lấy số 61, để chuyển sang hệ nhị phân, chúng ta cần chia số này cho 2 và xem phần dư của phép chia là bao nhiêu. Và kết quả của phép chia lại được chia cho hai. Trong trường hợp này, 61 là số bị chia, chúng ta sẽ luôn có 2 làm ước số và chúng ta lại chia thương (kết quả của phép chia) cho 2, tiếp tục chia cho đến khi thương chứa 1, đơn vị cuối cùng này sẽ là chữ số ngoài cùng bên trái. Hình ảnh dưới đây chứng minh điều này. Xin lưu ý rằng số 61 không phải là 101111 mà là 111101, tức là chúng ta viết kết quả từ cuối. Trong trường hợp sau, việc chia một cho hai không có ý nghĩa gì, vì trong trường hợp này phép chia số nguyên được sử dụng, và với cách tiếp cận này kết quả như trong Hình 4.4.2. Đây không phải là cách nhanh nhất để chuyển đổi một số từ nhị phân sang thập phân.. Chúng tôi có một số máy gia tốc. Ví dụ: số 7 trong hệ nhị phân được viết là 111, số 3 là 11 và số 255 là 11111111. Tất cả những trường hợp này đều cực kỳ đơn giản. Thực tế là các số 8, 4 và 256 là lũy thừa của hai và các số 7, 3 và 255 nhỏ hơn các số này một đơn vị. Vì vậy, đối với các số nhỏ hơn một số bằng lũy thừa của hai, một quy tắc đơn giản được áp dụng: trong hệ nhị phân, số thập phân đó được viết dưới dạng số đơn vị bằng lũy thừa của hai. Vì vậy, ví dụ, số 256 bằng hai lũy thừa tám, do đó, 255 được viết là 11111111, và số 8 là hai lũy thừa thứ ba, và điều này cho chúng ta biết rằng 7 trong hệ thống số nhị phân sẽ được viết là 111 À, hiểu rồi, cách viết 256, 4, 8 trong hệ nhị phân cũng không khó, chỉ cần cộng một: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100. Như bạn có thể thấy, chúng ta vẫn chưa quên cách chia. Và bây giờ chúng ta có thể tiếp tục. 4.4.5 Chuyển số từ nhị phân sang thập phânChuyển đổi số từ nhị phân dễ dàng hơn nhiều so với chuyển đổi từ thập phân sang nhị phân. Để làm ví dụ về bản dịch, chúng tôi sẽ sử dụng số 11110. Hãy chú ý đến bảng bên dưới, nó cho thấy lũy thừa mà bạn cần tăng hai để cuối cùng có được số thập phân. Để có được số thập phân từ số nhị phân này, bạn cần nhân từng số có chữ số với lũy thừa của 2, sau đó cộng kết quả của phép nhân, sẽ dễ hiển thị hơn: 1*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 = 16+8+4+2+0=30 Hãy mở máy tính và đảm bảo rằng 30 trong hệ thống số thập phân là 11110 ở hệ nhị phân. Chúng tôi thấy rằng mọi thứ đã được thực hiện chính xác. Từ ví dụ rõ ràng rằng Chuyển đổi một số từ nhị phân sang thập phân dễ dàng hơn nhiều so với chuyển đổi ngược lại. Để làm việc một cách tự tin, bạn chỉ cần nhớ lũy thừa của hai đến 2 8. Để rõ ràng, tôi sẽ cung cấp một bảng. Chúng tôi không cần nhiều hơn, vì số lượng tối đa có thể được ghi trong một byte (8 bit hoặc tám giá trị nhị phân) là 255, nghĩa là, trong mỗi octet của địa chỉ IP hoặc mặt nạ mạng con IPv4, giá trị tối đa có thể là 255. Có những trường, trong đó có giá trị lớn hơn 255 nhưng chúng ta không cần tính toán. 4.4.6 Cộng, trừ, nhân số nhị phân và các phép tính khác với số nhị phânBây giờ chúng ta hãy nhìn vào các phép toán có thể được thực hiện trên số nhị phân. Hãy bắt đầu với các phép tính số học đơn giản và sau đó chuyển sang các phép tính đại số Boolean. Thêm số nhị phânViệc cộng các số nhị phân không khó lắm: 1+0 =1; 1+1=0 (Tôi sẽ giải thích sau); 0+0=0. Đây là những ví dụ đơn giản chỉ sử dụng một chữ số, hãy xem các ví dụ trong đó số chữ số nhiều hơn một. Kết quả được tô sáng màu cam, máy tính cho biết chúng tôi đã tính toán chính xác, bạn có thể kiểm tra. Bây giờ hãy xem tại sao điều này xảy ra, vì lúc đầu tôi viết 1+1=0, nhưng đây là trường hợp khi chúng ta chỉ có một chữ số, đối với trường hợp có nhiều hơn một chữ số, 1+1=10 (hoặc hai ở dạng thập phân), điều này là hợp lý. Sau đó hãy xem điều gì xảy ra, chúng ta thực hiện phép cộng theo chữ số từ phải sang trái: 1. 1+1=10, viết số 0 và một số sẽ chuyển sang chữ số tiếp theo. 2. Ở chữ số tiếp theo, chúng ta nhận được 0+0+1=1 (đơn vị này đến với chúng ta từ kết quả của phép cộng ở bước 1). 4. Ở đây chúng ta chỉ có đơn vị là số thứ hai, nhưng nó cũng được chuyển vào đây nên 0+1+1 = 10. 5. Dán mọi thứ lại với nhau: 10|0|1|0. Nếu lười vào một cột thì hãy đếm như sau: 101011+11011 hoặc 43 + 27 = 70. Chúng ta có thể làm gì ở đây, nhưng hãy xem nhé, vì không ai cấm chúng ta thực hiện các phép biến đổi và thay đổi vị trí của các các số hạng không thay đổi tổng, đối với hệ thống số nhị phân, quy tắc này cũng có liên quan.
Bạn có thể kiểm tra bằng máy tính, 1000110 ở dạng nhị phân là 70 ở dạng thập phân. Trừ số nhị phânNgay ví dụ về phép trừ số có một chữ số trong hệ nhị phân, chúng ta không nói về số âm nên không tính đến 0-1: 1 – 0 = 1; 0 – 0 = 0; 1 – 1 = 0. Nếu có nhiều hơn một chữ số thì mọi thứ cũng đơn giản, bạn thậm chí không cần bất kỳ cột hay thủ thuật nào: 110111 – 1000, nó giống như 55 – 8. Kết quả là chúng ta nhận được 101111. Và trái tim đã ngừng đập, đơn vị ở chữ số thứ ba đến từ đâu (đánh số từ trái sang phải và bắt đầu từ 0)? Thật đơn giản! Trong chữ số thứ hai của số 110111 có 0 và ở chữ số thứ nhất có 1 (nếu chúng ta giả sử rằng việc đánh số các chữ số bắt đầu từ 0 và đi từ trái sang phải), nhưng đơn vị của chữ số thứ tư được lấy bằng cộng hai đơn vị của chữ số thứ ba (bạn nhận được một loại hai ảo) và từ điều này Đối với hai chữ số, chúng ta trừ đi một, nằm ở chữ số 0 của số 1000 và 2 - 1 = 1, và 1 là chữ số hợp lệ trong hệ thống số nhị phân. Nhân số nhị phânChúng ta vẫn còn phải xem xét phép nhân các số nhị phân, được thực hiện bằng cách dịch chuyển một bit sang trái. Nhưng trước tiên, hãy xem kết quả của phép nhân có một chữ số: 1*1 = 1; 1*0=0 0*0=0. Thực ra mọi thứ đều đơn giản, bây giờ chúng ta hãy xem xét thứ gì đó phức tạp hơn. Hãy lấy các số 101001 (41) và 1100 (12). Chúng ta sẽ nhân theo cột. Nếu trong bảng không rõ điều này xảy ra như thế nào, thì tôi sẽ cố gắng giải thích bằng lời:
Nhìn chung, phép tính nhân không quá khó, bạn chỉ cần luyện tập một chút là được. Các phép toán đại số BooleanCó hai khái niệm rất quan trọng trong đại số Boolean: đúng và sai, tương đương với số 0 và một trong hệ thống số nhị phân. Các toán tử đại số Boolean mở rộng số lượng toán tử có sẵn trên các giá trị này, chúng ta hãy xem xét chúng. Hoạt động logic AND hoặc ANDPhép toán logic AND hoặc AND tương đương với phép nhân các số nhị phân có một chữ số. 1 VÀ 1 = 1; 1 VÀ 0 = 1; 0 VÀ 0 = 0; 0 VÀ 1 = 0.
Kết quả của “Logical AND” sẽ chỉ là một nếu cả hai giá trị đều bằng một; trong tất cả các trường hợp khác, nó sẽ bằng 0. Thao tác "Logic OR" hoặc ORThao tác “Logical OR” hoặc OR hoạt động theo nguyên tắc sau: nếu có ít nhất một giá trị bằng một thì kết quả sẽ là một. 1 HOẶC 1 = 1; 1 HOẶC 0 = 1; 0 HOẶC 1 = 1; 0 HOẶC 0 = 0.
Hoạt động OR hoặc XOR độc quyềnPhép toán "Độc quyền OR" hoặc XOR sẽ chỉ cho chúng ta kết quả là một nếu một trong các toán hạng bằng một và toán hạng thứ hai bằng 0. Nếu cả hai toán hạng đều bằng 0 thì kết quả sẽ bằng 0 và ngay cả khi cả hai toán hạng đều bằng 1 thì kết quả sẽ bằng 0. |