Dịch mã nhị phân. Dịch văn bản sang mã kỹ thuật số. Tại sao cần có mã nhị phân?

Tại đây bạn có thể chuyển đổi số nhị phân thành ký tự ASCII, ký tự này thường khá đơn giản trong đầu bạn.

1 - Chuyển đổi 4 chữ số nhị phân thành một chữ số thứ sáu.

Đây là biểu đồ chuyển đổi ở định dạng nhị phân:

0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9 1010 = a (số hex a, không phải chữ cái a) 1011 = b 1100 = c 1101 = d 1110 = e 1111 = f

(Các số thập lục phân từ a đến f là các số thập phân từ 10 đến 15. Thập lục phân hay "cơ số 16" là gì, thay vì mỗi chữ số có khả năng biểu thị 10 số khác nhau, chẳng hạn như số thập phân hoặc "cơ số 10", thì mỗi chữ số thay vào đó nó có thể đại diện cho 16 số khác nhau.)

Khi bạn biết sơ đồ này, việc chuyển đổi bất kỳ chuỗi chữ số nhị phân nào thành chuỗi chữ số thập lục phân rất đơn giản.

Ví dụ,

01000100 = 0100 0100 = 44 hex 1010001001110011 = 1010 0010 0111 0011 = a273 hex

Đủ đơn giản phải không? Dễ dàng chuyển đổi số nhị phân có độ dài bất kỳ thành số thập lục phân tương đương.

(Điều này hiệu quả vì hệ thập lục phân là cơ số 16 và hệ nhị phân là cơ số 2 và 16 là lũy thừa 4 của 2, do đó cần 4 chữ số nhị phân để có được 1 chữ số thập lục phân. Mặt khác, 10 không phải là lũy thừa của 2, vì vậy chúng ta không thể chuyển đổi nhị phân sang thập phân dễ dàng như vậy.)

2 – Chia chuỗi chữ số thập lục phân thành từng cặp.

Khi chuyển đổi một số sang ASCII, cứ hai chữ số thập lục phân là ký tự. Do đó, chia chuỗi thập lục phân thành hai chữ số.

Bạn sẽ chia một số thập lục phân như 7340298b392 thành 6 cặp như sau:

7340298b392 = 07 34 02 98 b3 92

Đây là 6 cặp chữ số thập lục phân nên sẽ có 6 chữ cái. (Ngoại trừ việc tôi ngay lập tức nhận ra rằng 98, b3 và 92 không phải là các chữ cái. Tôi sẽ giải thích lý do sau.)

3 - Chuyển đổi từng cặp chữ số thập lục phân thành số thập phân.

Thực hiện việc này bằng cách nhân (số thập phân tương đương) của chữ số bên trái với 16 và cộng số thứ hai.

Ví dụ: b3 hex = 11 * 16 + 3, bằng 110 + 66 + 3, bằng 179. (b hex bằng 11 số thập phân.)

4 - Chuyển đổi số thập phân thành ký tự ASCII.

Bây giờ, để lấy các chữ cái ASCII cho số thập phân, chỉ cần nhớ rằng trong ASCII, 65 là chữ hoa "A" và 97 là chữ thường "a".

Vậy chữ 68 là gì?

68 - chữ cái thứ 4 trong bảng chữ cái viết hoa, bên phải?
65 = A, 66 = B, 67 = C, 68 = D.

Vậy 68 là D.

Bạn lấy số thập phân, trừ 64 cho chữ hoa nếu số đó nhỏ hơn 97 hoặc 96 cho chữ thường nếu số đó lớn hơn 97 và số chữ cái của bảng chữ cái đi kèm với bộ đó là 2 chữ số thập lục phân.

Ngoài ra, nếu bạn không sợ một chút số học hex đơn giản, bạn có thể bỏ qua bước 3 và chỉ chuyển từ hex sang ASCII, ghi nhớ ví dụ:

Hex 41 = "A" hex 61 = "a"

Vì vậy, hãy trừ 40 hex cho chữ hoa hoặc 60 hex cho chữ thường và chuyển phần còn lại thành số thập phân để có số chữ cái trong bảng chữ cái.

Ví dụ

01101100 = 6c, 6c - 60 = c = 12 thập phân = "l" 01010010 = 52, 52 - 40 = 12 hex = 18 thập phân = "R"

(Điều đó nói lên rằng, sẽ rất hữu ích nếu bạn nhớ rằng "m" (hoặc "M") là chữ cái thứ 13 trong bảng chữ cái. Vì vậy, bạn có thể đếm lên hoặc xuống từ 13 để tìm một chữ cái ở gần giữa hơn là ở cuối.)

Tôi đã nhìn thấy dòng chữ này trên áo sơ mi một lần và có thể đọc được nó trong đầu:

01000100 01000001 01000100

Tôi đã làm nó như thế này:

01000100 = 0100 0100 = 44 hex, - 40 hex = chữ ucase 4 = D 01000001 = 0100 0001 = 41 hex, - 40 hex = chữ ucase 1 = A 01000100 = 0100 0100 = 44 hex, - 40 hex = chữ ucase 4 = D

Chiếc áo có chữ "DAD", tôi nghĩ nó rất ngầu vì nó được một phụ nữ mang thai mua. Chồng cô ấy chắc cũng giống tôi.

Làm sao tôi nhận ra ngay rằng 92, b3 và 98 không phải là chữ cái?

Bởi vì mã ASCII cho chữ thường "z" là 96 + 26 = 122, trong hệ thập lục phân là 7a. 7a là số thập lục phân lớn nhất cho một chữ cái. Bất cứ điều gì lớn hơn 7a không phải là một chữ cái.

Vậy làm sao bạn có thể làm được điều này với tư cách là một con người.

Các chương trình máy tính thực hiện điều này như thế nào?

Đối với mỗi bộ 8 chữ số nhị phân, hãy chuyển đổi nó thành một số và tra cứu nó trong bảng ASCII.

(Đây là một cách khá rõ ràng và dễ hiểu. Một lập trình viên thông thường có thể nghĩ ra 10 hoặc 15 cách khác trong vòng vài phút. Chi tiết phụ thuộc vào môi trường giao diện ngôn ngữ của máy tính.)

Tôi quyết định tạo ra một công cụ như chuyển đổi văn bản thành mã nhị phân và ngược lại, có những dịch vụ như vậy, nhưng chúng thường hoạt động với bảng chữ cái Latinh, nhưng của tôi trình dịch làm việc với mã hóa unicode ở định dạng UTF-8, mã hóa các ký tự Cyrillic thành hai byte. Hiện tại, khả năng của trình dịch bị giới hạn ở mã hóa hai byte, tức là. Không thể dịch các ký tự tiếng Trung, nhưng tôi sẽ sửa lại sự hiểu lầm khó chịu này.

Để chuyển đổi văn bản sang biểu diễn nhị phân nhập văn bản vào cửa sổ bên trái và nhấp vào TEXT->BIN trong cửa sổ bên phải, biểu diễn nhị phân của nó sẽ xuất hiện.

Để chuyển đổi mã nhị phân thành văn bản nhập mã vào cửa sổ bên phải và nhấn BIN->TEXT; biểu tượng tượng trưng của nó sẽ xuất hiện trong cửa sổ bên trái.

Nếu như dịch mã nhị phân thành văn bản hoặc ngược lại, nó không hoạt động - hãy kiểm tra tính chính xác của dữ liệu của bạn!

Cập nhật!

Chuyển đổi văn bản ngược của biểu mẫu hiện có sẵn:

trở lại bình thường. Để thực hiện việc này, bạn cần đánh dấu vào ô: “Thay thế 0 bằng dấu cách và 1 bằng phần giữ chỗ █.” Sau đó dán văn bản vào ô bên phải: “Văn bản ở dạng biểu diễn nhị phân” và nhấp vào nút bên dưới nó “BIN->TEXT”.

Khi sao chép những văn bản như vậy bạn cần phải cẩn thận vì... Bạn có thể dễ dàng mất khoảng trống ở đầu hoặc cuối. Ví dụ: dòng ở trên cùng trông như sau:

██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

và trên nền đỏ:

██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

Bạn có thấy cuối cùng bạn có thể mất bao nhiêu khoảng trống không?

Mọi người đều biết rằng máy tính có thể thực hiện các phép tính trên những nhóm dữ liệu lớn với tốc độ cực lớn. Nhưng không phải ai cũng biết rằng những hành động này chỉ phụ thuộc vào hai điều kiện: có dòng điện hay không và điện áp là bao nhiêu.

Làm thế nào một máy tính có thể xử lý được lượng thông tin đa dạng như vậy?
Bí mật nằm ở hệ thống số nhị phân. Tất cả dữ liệu vào máy tính, được trình bày dưới dạng số 1 và số 0, mỗi dữ liệu tương ứng với một trạng thái của dây điện: số một - điện áp cao, số 0 - thấp hoặc số 1 - sự hiện diện của điện áp, số 0 - sự vắng mặt của nó. Việc chuyển đổi dữ liệu thành số 0 và số 1 được gọi là chuyển đổi nhị phân và ký hiệu cuối cùng của nó được gọi là mã nhị phân.
Trong ký hiệu thập phân, dựa trên hệ thống số thập phân được sử dụng trong cuộc sống hàng ngày, một giá trị số được biểu thị bằng mười chữ số từ 0 đến 9 và mỗi vị trí trong số có giá trị cao hơn mười lần vị trí bên phải của nó. Để biểu thị một số lớn hơn chín trong hệ thập phân, số 0 được đặt vào vị trí của nó và số 1 được đặt ở vị trí tiếp theo, có giá trị hơn ở bên trái. Tương tự, trong hệ nhị phân, chỉ sử dụng hai chữ số - 0 và 1, mỗi vị trí có giá trị gấp đôi vị trí bên phải của nó. Do đó, trong mã nhị phân chỉ có số 0 và số một có thể được biểu diễn dưới dạng số đơn và bất kỳ số nào lớn hơn một đều cần có hai vị trí. Sau 0 và 1, ba số nhị phân tiếp theo là 10 (đọc một-không), 11 (đọc một-một) và 100 (đọc một-không-không). 100 nhị phân tương đương với 4 số thập phân. Bảng trên cùng bên phải hiển thị các BCD tương đương khác.
Bất kỳ số nào cũng có thể được biểu thị dưới dạng nhị phân, nó chỉ chiếm nhiều không gian hơn số thập phân. Bảng chữ cái cũng có thể được viết bằng hệ nhị phân nếu mỗi chữ cái được gán một số nhị phân nhất định.

Hai con số cho bốn nơi
Có thể thực hiện 16 kết hợp bằng cách sử dụng các bóng tối và bóng sáng, kết hợp chúng thành bộ 4. Nếu bóng tối được lấy là số 0 và bóng sáng là số 1 thì 16 bộ sẽ trở thành mã nhị phân 16 đơn vị, giá trị bằng số của tức là từ 0 đến 5 (xem bảng trên cùng ở trang 27). Ngay cả với hai loại quả bóng trong hệ thống nhị phân, có thể tạo ra vô số kết hợp bằng cách tăng số lượng quả bóng trong mỗi nhóm - hoặc số vị trí trong các số.

Bit và byte

Đơn vị nhỏ nhất trong xử lý máy tính, bit là đơn vị dữ liệu có thể có một trong hai điều kiện có thể xảy ra. Ví dụ: mỗi số 1 và số 0 (ở bên phải) đại diện cho 1 bit. Một bit có thể được biểu diễn theo những cách khác: sự hiện diện hay vắng mặt của dòng điện, lỗ trống hoặc sự vắng mặt của nó, hướng từ hóa sang phải hoặc trái. Tám bit tạo thành một byte. 256 byte có thể có thể biểu thị 256 ký tự và ký hiệu. Nhiều máy tính xử lý một byte dữ liệu cùng một lúc.

Chuyển đổi nhị phân. Mã nhị phân bốn chữ số có thể biểu thị số thập phân từ 0 đến 15.

Bảng mã

Khi mã nhị phân được sử dụng để biểu diễn các chữ cái trong bảng chữ cái hoặc dấu chấm câu, cần có bảng mã để chỉ ra mã nào tương ứng với ký tự nào. Một số mã như vậy đã được biên soạn. Hầu hết các PC đều được cấu hình bằng mã gồm bảy chữ số được gọi là ASCII hoặc Mã tiêu chuẩn Mỹ để trao đổi thông tin. Bảng bên phải hiển thị mã ASCII cho bảng chữ cái tiếng Anh. Các mã khác dành cho hàng nghìn ký tự và bảng chữ cái của các ngôn ngữ khác trên thế giới.

Một phần của bảng mã ASCII

Ý nghĩa của thuật ngữ “nhị phân” là nó bao gồm hai phần hoặc thành phần. Do đó, mã nhị phân là mã chỉ bao gồm hai trạng thái ký hiệu, chẳng hạn như đen hoặc trắng, sáng hoặc tối, dây dẫn hoặc chất cách điện. Mã nhị phân trong công nghệ kỹ thuật số là cách biểu diễn dữ liệu (số, từ và các ký tự khác) dưới dạng kết hợp của hai ký tự, có thể được chỉ định là 0 và 1. Các ký tự hoặc đơn vị của BC được gọi là bit. Một trong những lý do biện minh cho việc sử dụng BC là tính đơn giản và độ tin cậy của việc lưu trữ thông tin trong bất kỳ phương tiện nào dưới dạng kết hợp chỉ hai trạng thái vật lý của nó, ví dụ, dưới dạng thay đổi hoặc không đổi của luồng ánh sáng khi đọc từ đĩa mã quang.
Có nhiều khả năng khác nhau để mã hóa thông tin.

Mã nhị phân

Trong công nghệ kỹ thuật số, một phương pháp biểu diễn dữ liệu (số, từ và các dữ liệu khác) dưới dạng kết hợp của hai ký tự, có thể được chỉ định là 0 và 1. Các dấu hiệu hoặc đơn vị của DC được gọi là bit.

Một trong những lý do biện minh cho việc sử dụng DC là tính đơn giản và độ tin cậy của việc lưu trữ thông tin trong bất kỳ phương tiện nào dưới dạng kết hợp chỉ hai trạng thái vật lý của nó, ví dụ, dưới dạng thay đổi hoặc không đổi của từ thông trong một ô nhất định của phương tiện ghi từ tính.

Số lớn nhất có thể được biểu thị dưới dạng nhị phân phụ thuộc vào số chữ số được sử dụng, tức là về số bit trong tổ hợp biểu thị số đó. Ví dụ: để biểu thị các giá trị số từ 0 đến 7, chỉ cần có mã 3 chữ số hoặc 3 bit:

giá trị số mã nhị phân
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Từ đó, chúng ta có thể thấy rằng đối với một số lớn hơn 7 có mã gồm 3 chữ số thì không còn tổ hợp mã 0 và 1 nữa.

Chuyển từ số sang đại lượng vật lý, chúng ta hãy xây dựng câu lệnh trên dưới dạng tổng quát hơn: số giá trị m lớn nhất của bất kỳ đại lượng nào (nhiệt độ, điện áp, dòng điện, v.v.), có thể được biểu thị bằng mã nhị phân, phụ thuộc vào về số bit được sử dụng n là m= 2n. Nếu n=3, như trong ví dụ đã xem xét, thì chúng ta nhận được 8 giá trị, bao gồm cả số 0 đứng đầu.
Mã nhị phân là mã nhiều bước. Điều này có nghĩa là khi di chuyển từ vị trí (giá trị) này sang vị trí (giá trị) khác, một số bit có thể thay đổi đồng thời. Ví dụ: số 3 trong mã nhị phân = 011. Số 4 trong mã nhị phân = 100. Theo đó, khi chuyển từ 3 sang 4, cả 3 bit đều đồng thời chuyển trạng thái sang ngược lại. Việc đọc mã như vậy từ đĩa mã sẽ dẫn đến thực tế là do những sai lệch (dung sai) không thể tránh khỏi trong quá trình sản xuất đĩa mã, nên sự thay đổi thông tin từ từng rãnh riêng biệt sẽ không bao giờ xảy ra đồng thời. Điều này sẽ dẫn đến thực tế là khi chuyển từ số này sang số khác, thông tin không chính xác sẽ được đưa ra trong thời gian ngắn. Vì vậy, trong quá trình chuyển đổi được đề cập ở trên từ số 3 sang số 4, rất có thể xảy ra đầu ra ngắn hạn của số 7 khi, ví dụ, bit quan trọng nhất trong quá trình chuyển đổi đã thay đổi giá trị của nó sớm hơn một chút so với phần còn lại. . Để tránh điều này, cái gọi là mã một bước được sử dụng, ví dụ như cái gọi là Mã Gray.

Mã màu xám

Mã màu xám được gọi là mã một bước, tức là Khi chuyển từ số này sang số khác, chỉ có một trong tất cả các bit thông tin luôn thay đổi. Lỗi đọc thông tin từ đĩa mã cơ khi chuyển từ số này sang số khác sẽ chỉ dẫn đến việc chuyển từ vị trí này sang vị trí khác sẽ chỉ bị dịch chuyển một chút về thời gian mà đưa ra giá trị vị trí góc hoàn toàn không chính xác khi việc di chuyển từ vị trí này sang vị trí khác bị loại bỏ hoàn toàn.
Một ưu điểm khác của Gray Code là khả năng phản chiếu thông tin. Vì vậy, bằng cách đảo ngược bit quan trọng nhất, bạn có thể chỉ cần thay đổi hướng đếm và do đó khớp với hướng quay thực tế (vật lý) của trục. Việc thay đổi hướng đếm theo cách này có thể được thay đổi dễ dàng bằng cách điều khiển cái gọi là đầu vào “Phần bù”. Do đó, giá trị đầu ra có thể tăng hoặc giảm theo cùng một hướng quay vật lý của trục.
Vì thông tin được thể hiện trong Mã Gray hoàn toàn được mã hóa về bản chất và không mang thông tin số thực nên trước tiên nó phải được chuyển đổi thành mã nhị phân tiêu chuẩn trước khi xử lý tiếp. Điều này được thực hiện bằng cách sử dụng bộ chuyển đổi mã (bộ giải mã Gray-Binar), may mắn thay, có thể dễ dàng thực hiện bằng cách sử dụng mạch gồm các phần tử logic độc quyền hoặc (XOR), cả trong phần mềm và phần cứng.

Các số thập phân tương ứng trong khoảng từ 0 đến 15 đến mã nhị phân và mã Gray

Mã hóa nhị phân Mã màu xám
Mã thập phân
Giá trị nhị phân mười sáu nghĩa Mã thập phân Giá trị nhị phân mười sáu nghĩa
0 0000 0 giờ 0 0000 0 giờ
1 0001 1 giờ 1 0001 1 giờ
2 0010 2 giờ 3 0011 3 giờ
3 0011 3 giờ 2 0010 2 giờ
4 0100 4 giờ 6 0110 6h
5 0101 5 giờ 7 0111 7h
6 0110 6h 5 0101 5 giờ
7 0111 7h 4 0100 4 giờ
8 1000 8 giờ 12 1100 ch
9 1001 9h 13 1101 Dh
10 1010 Ah 15 1111 Fh
11 1011 Bh 14 1110 Hở
12 1100 ch 10 1010 Ah
13 1101 Dh 11 1011 Bh
14 1110 Hở 9 1001 9h
15 1111 Fh 8 1000 8 giờ

Việc chuyển đổi mã Gray sang mã nhị phân thông thường có thể được thực hiện bằng cách sử dụng một mạch đơn giản với bộ biến tần và cổng loại trừ hoặc như dưới đây:

Mã xám-thừa

Mã Gray một bước thông thường phù hợp với các độ phân giải có thể được biểu thị dưới dạng số lũy thừa bằng 2. Trong trường hợp cần triển khai các quyền khác, phần giữa sẽ được cắt ra khỏi mã Gray thông thường và được sử dụng. Bằng cách này, mã vẫn là "một bước". Tuy nhiên, phạm vi số không bắt đầu từ 0 mà được dịch chuyển bởi một giá trị nhất định. Khi xử lý thông tin, một nửa chênh lệch giữa độ phân giải ban đầu và độ phân giải giảm sẽ bị trừ đi khỏi tín hiệu được tạo. Độ phân giải như 360? để thể hiện một góc thường được thực hiện bằng phương pháp này. Vì vậy, mã Gray 9 bit bằng 512 bước, được cắt bớt 76 bước ở cả hai bên, sẽ bằng 360°.

Vì nó đơn giản nhất và đáp ứng được yêu cầu:

  • Càng có ít giá trị trong hệ thống thì việc sản xuất các phần tử riêng lẻ hoạt động trên các giá trị này càng dễ dàng hơn. Đặc biệt, hai chữ số của hệ số nhị phân có thể dễ dàng biểu diễn bằng nhiều hiện tượng vật lý: có dòng điện - không có dòng điện, cảm ứng từ trường có lớn hơn giá trị ngưỡng hay không, v.v.
  • Một phần tử càng có ít trạng thái thì khả năng chống ồn càng cao và nó có thể hoạt động càng nhanh. Ví dụ: để mã hóa ba trạng thái thông qua cường độ cảm ứng từ trường, bạn sẽ cần nhập hai giá trị ngưỡng, điều này sẽ không góp phần vào khả năng chống nhiễu và độ tin cậy của việc lưu trữ thông tin.
  • Số học nhị phân khá đơn giản. Đơn giản là các bảng cộng và nhân - các phép toán cơ bản với số.
  • Có thể sử dụng bộ máy đại số logic để thực hiện các phép toán theo bit trên các số.

Liên kết

  • Máy tính trực tuyến để chuyển đổi số từ hệ thống số này sang hệ thống số khác

Quỹ Wikimedia. 2010.

Xem “Mã nhị phân” là gì trong các từ điển khác:

    Mã xám 2 bit 00 01 11 10 Mã xám 3 bit 000 001 011 010 110 111 101 100 Mã xám 4 bit 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 111 0 1010 1011 1001 1000 Mã màu xám của hệ thống số trong hai giá trị liền kề nào ... ... Wikipedia

    Mã điểm tín hiệu (SPC) của Hệ thống tín hiệu 7 (SS7, OX 7) là địa chỉ nút duy nhất (trong mạng gia đình) được sử dụng ở cấp MTP thứ ba (định tuyến) trong mạng OX 7 viễn thông để nhận dạng ... Wikipedia

    Trong toán học, số không vuông góc là số không chia hết cho bất kỳ số chính phương nào ngoại trừ 1. Ví dụ, 10 là số không vuông góc, nhưng 18 thì không, vì 18 chia hết cho 9 = 32. Phần đầu của dãy số số không có hình vuông là: 1, 2, 3, 5, 6, 7,… … Wikipedia

    Để cải thiện bài viết này, bạn có muốn: Wikiify bài viết. Chỉnh sửa lại thiết kế cho phù hợp với quy định viết bài. Sửa bài viết theo quy tắc văn phong của Wikipedia... Wikipedia

    Thuật ngữ này có ý nghĩa khác, xem Python (ý nghĩa). Lớp ngôn ngữ Python: mu... Wikipedia

    Theo nghĩa hẹp của từ này, cụm từ này hiện có nghĩa là “Cố gắng vào một hệ thống bảo mật” và thiên về ý nghĩa của thuật ngữ sau, cuộc tấn công của Cracker. Điều này xảy ra do sự bóp méo ý nghĩa của từ “hacker”. Tin tặc... ...Wikipedia