모든 문자와 문자는 8개의 이진 비트를 사용하여 인코딩할 수 있습니다. 이진 코드에서 문자를 나타내는 가장 일반적인 테이블은 ASCII 및 ANSI이며 마이크로프로세서에서 텍스트를 작성하는 데 사용할 수 있습니다. ASCII 및 ANSI 테이블에서 처음 128자는 동일합니다. 표의 이 부분에는 숫자, 구두점, 라틴 문자 대소문자, 제어 문자에 대한 코드가 포함되어 있습니다. 문자표와 의사 기호의 국가 확장은 이 표의 마지막 128개 코드에 포함되어 있으므로 DOS 및 WINDOWS 운영 체제의 러시아어 텍스트는 일치하지 않습니다.

컴퓨터 및 마이크로 프로세서를 처음 알게되면 "텍스트를 이진 코드로 변환하는 방법"이라는 질문이 발생할 수 있습니다. 그러나 이 변환은 가장 간단한 작업입니다! 이렇게 하려면 텍스트 편집기를 사용해야 합니다. Windows 운영 체제의 일부인 가장 간단한 메모장 프로그램을 포함하는 것도 적합합니다. C, Pascal 또는 Java와 같은 언어의 모든 프로그래밍 환경에는 유사한 편집기가 있습니다. 가장 일반적인 텍스트 편집기인 Word는 단순히 텍스트를 이진 코드로 변환하는 데 적합하지 않습니다. 이 테스트 편집기는 글자의 색상, 기울임꼴, 밑줄, 특정 문구가 쓰여진 언어, 글꼴과 같은 엄청난 양의 추가 정보를 소개합니다.

실제로 텍스트 정보가 인코딩되는 0과 1의 조합은 이진 코드가 아닙니다. 이 코드의 비트는 법률을 준수하지 않습니다. 그러나 인터넷에서는 '이진 코드로 문자를 나타내다'라는 검색어가 가장 일반적이다. 표 1은 라틴 알파벳 문자에 대한 이진 코드의 대응을 보여줍니다. 간결함을 위해 이 표에서 0과 1의 시퀀스는 10진수 및 16진수 코드로 표시됩니다.

1 번 테이블이진 코드(ASCII)의 라틴 문자 표현 표

10진수 코드 16진수 코드 표시 문자 의미
0 00 무효
1 01 (디스플레이 제어 단어)
2 02 (첫 번째로 전송된 단어)
3 03 ETX(마지막 전송 워드)
4 04 EOT(전송 종료)
5 05 ENQ(초기화)
6 06 ACK(승인)
7 07
8 08 학사
9 09 HT(가로 탭
10 0A LF(줄바꿈)
11 0B VT(수직 탭)
12 FF(다음 페이지)
13 0D CR(캐리지 리턴)
14 0E SO(두 배 너비)
15 0F SI(콘덴싱 씰)
16 10 DLE
17 11 DC1
18 12 DC2(축약 인쇄 취소)
19 13 DC3(준비)
20 14 DC4(배폭 취소)
21 15 § NAC(비승인)
22 16 SYN
23 17 ETB
24 18 할 수 있다
25 19 여자 이름
26 1A 보결
27 1B ESC(시퀀스 제어 시작)
28 1C FS
29 1D GS
30 1E RS
31 1F 우리를
32 20 우주
33 21 ! 느낌표
34 22 « 꺾쇠 괄호
35 23 # 숫자 기호
36 24 $ 통화 기호(달러)
37 25 % 백분율 기호
38 26 & 앰퍼샌드
39 27 " 아포스트로피
40 28 ( 여는 브래킷
41 29 ) 닫기 브래킷
42 2A *
43 2B + 더하기 기호
44 2C , 반점
45 2D - 빼기 기호
46 2E .
47 2F / 분수 막대
48 30 0 숫자 0
49 31 1 최고
50 32 2 두 번째
51 33 3 세 번째
52 34 4 네 번째
53 35 5 다섯 번째
54 36 6 여섯 번째
55 37 7 일곱 번째
56 38 8 여덟 번째
57 39 9 9번
58 3A : 콜론
59 3B ; 세미콜론
60 3C < 기호보다 작음
61 3D = 등호
62 3E > 더 서명
63 3F ? 물음표
64 40 @ 상업 층
65 41 대문자 라틴 문자 A
66 42 라틴 대문자 B
67 43 라틴 대문자 C
68 44 라틴 대문자 D
69 45 이자형 라틴 대문자 E
70 46 에프 라틴 대문자 F
71 47 G 라틴 대문자 G
72 48 시간 라틴 대문자 H
73 49 대문자 라틴 문자 I
74 4A 제이 라틴 대문자 J
75 4B 케이 대문자 라틴 문자 K
76 4C 대문자 L
77 4D 대문자 라틴 문자
78 4E N 대문자 라틴 문자 N
79 4F 영형 대문자 라틴 문자 O
80 50 라틴 대문자 P
81 51 대문자 라틴 문자
82 52 아르 자형 라틴 대문자 R
83 53 에스 대문자 라틴 문자 S
84 54 라틴 대문자 T
85 55 라틴 대문자 U
86 56 V 대문자 라틴 문자 V
87 57 라틴 대문자 W
88 58 엑스 대문자 라틴 문자 X
89 59 와이 대문자 라틴 문자 Y
90 5A 대문자 라틴 문자 Z
91 5B [ 여는 대괄호
92 5C \ 백슬래시
93 5D ] 닫는 대괄호
94 5E ^ "뚜껑"
95 5 _ 밑줄 문자
96 60 ` 아포스트로피
97 61 라틴어 소문자 a
98 62 라틴 소문자 b
99 63 라틴 소문자 c
100 64 라틴 소문자 d
101 65 이자형 라틴어 소문자 e
102 66 에프 라틴 소문자 f
103 67 g 라틴 소문자 g
104 68 시간 라틴어 소문자 h
105 69 라틴어 소문자 i
106 6A 제이 라틴 소문자 j
107 6B 케이 라틴 소문자 k
108 6C 라틴 소문자 l
109 6D 라틴 소문자 m
110 6E N 라틴 소문자 n
111 6층 영형 라틴어 소문자 o
112 70 라틴어 소문자 p
113 71 라틴 소문자 q
114 72 아르 자형 라틴어 소문자 r
115 73 에스 라틴어 소문자 s
116 74 라틴어 소문자 t
117 75 라틴어 소문자 u
118 76 V 라틴어 소문자 v
119 77 라틴어 소문자 w
120 78 엑스 소문자 라틴 문자 x
121 79 와이 라틴 소문자 y
122 7A 라틴 소문자 z
123 7B { 중괄호 열기
124 7C | 수직 막대
125 7D } 중괄호 닫기
126 7E ~ 틸데
127 7F

ASCII 문자 테이블의 클래식 버전에는 러시아어 문자가 없으며 7비트로 구성됩니다. 그러나 나중에 이 표는 8비트로 확장되었고 상위 128행에는 이진 코드의 러시아어 문자와 의사 기호가 나타났습니다. 일반적으로 두 번째 부분에는 여러 국가의 국가 알파벳이 포함되어 있고 러시아어 문자 중 하나만 가능한 집합(855)이 있을 수 있으며 프랑스어(863), 독일어(1141) 또는 그리스어(737) 테이블이 있을 수 있습니다. 표 2는 이진 코드에서 러시아어 문자의 표현의 예를 보여줍니다.

표 2.이진 코드(ASCII)의 러시아 문자 표현 표

10진수 코드 16진수 코드 표시 문자 의미
128 80 하지만 대문자 러시아 문자 A
129 81 대문자 러시아 문자 B
130 82 대문자 러시아 문자 V
131 83 G 대문자 러시아 문자 G
132 84 대문자 러시아 문자 D
133 85 이자형 대문자 러시아 문자 E
134 86 그리고 대문자 러시아어 Zh
135 87 대문자 러시아 문자 Z
136 88 그리고 대문자 러시아어 문자 I
137 89 와이 대문자 러시아 문자 Y
138 8A 에게 대문자 러시아 문자 K
139 8B 대문자 러시아 문자 L
140 8C 대문자 러시아 문자 M
141 8D 시간 대문자 러시아 문자 H
142 8E 영형 대문자 러시아 문자 O
143 8F 대문자 러시아 문자 P
144 90 아르 자형 대문자 러시아 문자 R
145 91 에서 대문자 러시아 문자 C
146 92 대문자 러시아 문자 T
147 93 ~에 대문자 러시아 문자 U
148 94 에프 대문자 러시아 문자 F
149 95 엑스 대문자 러시아 문자 X
150 96 대문자 러시아 문자 C
151 97 시간 대문자 러시아 문자 Ch
152 98 대문자 러시아 문자 S
153 99 SCH 대문자 러시아 문자 Ш
154 9A 코메르산트 대문자 러시아 문자 Ъ
155 9B 에스 대문자 러시아 문자 Y
156 9C 대문자 러시아 문자 b
157 9D 이자형 대문자 러시아 문자 E
158 9E 대문자 러시아 문자 유
159 9F 대문자 러시아어 문자 Ya
160 A0 러시아어 소문자 a
161 A1 소문자 러시아어 문자 b
162 A2 안에 소문자 러시아어 문자 v
163 A3 G 소문자 러시아어 문자 g
164 A4 소문자 러시아어 문자 d
165 A5 이자형 소문자 러시아어 문자 e
166 A6 그리고 소문자 러시아어 문자 zh
167 A7 시간 소문자 러시아어 문자 z
168 A8 그리고 소문자 러시아어 문자 및
169 A9 소문자 러시아어 문자 y
170 AA 에게 소문자 러시아어 문자 k
171 AB 소문자 러시아어 문자 l
172 교류 소문자 러시아어 문자 m
173 기원 후 N 소문자 러시아어 문자 n
174 AE ~에 대한 소문자 러시아어 문자 o
175 AF 소문자 러시아어 문자 p
176 B0
177 B1
178 B2
179 B3 의사 기호
180 B4 의사 기호
181 B5 의사 기호
182 B6 의사 기호
183 B7 의사 기호
184 B8 의사 기호
185 B9 의사 기호
186 학사 의사 기호
187 비비 의사 기호
188 기원전 의사 기호
189 BD 의사 기호
190 BE 의사 기호
191 BF 의사 기호
192 C0 의사 기호
193 C1 의사 기호
194 C2 의사 기호
195 C3 의사 기호
196 C4 의사 기호
197 C5 의사 기호
198 C6 의사 기호
199 C7 의사 기호
200 C8 의사 기호
201 C9 의사 기호
202 캘리포니아 의사 기호
203 CB 의사 기호
204 참조 의사 기호
205 CD 의사 기호
206 CE 의사 기호
207 CF 의사 기호
208 D0 의사 기호
209 D1 의사 기호
210 D2 의사 기호
211 D3 의사 기호
212 D4 의사 기호
213 D5 의사 기호
214 D6 의사 기호
215 D7 의사 기호
216 D8 의사 기호
217 D9 의사 기호
218 의사 기호
219 디비
220 DC
221 DD
222
223 디에프
224 E0 아르 자형 소문자 러시아어 문자 p
225 E1 와 함께 소문자 러시아어 문자 c
226 E2 소문자 러시아어 문자 t
227 E3 ~에 소문자 러시아어 문자 u
228 E4 에프 소문자 러시아 문자 f
229 E5 엑스 소문자 러시아어 문자 x
230 E6 소문자 러시아어 문자 c
231 E7 시간 소문자 러시아어 문자 h
232 E8 소문자 러시아어 문자 sh
233 E9 소문자 러시아어 문자 u
234 EA 러시아어 소문자 ъ
235 EB 에스 소문자 러시아어 문자 y
236 유럽 ​​연합 러시아어 소문자 ь
237 ED 소문자 러시아어 문자 e
238 EE 소문자 러시아어 문자 u
239 EF 소문자 러시아어 문자 i
240 F0 에야디야 대문자 러시아어 문자 요
241 F1 에야디야 러시아어 소문자 ё
242 F2 Є
243 F3 є
244 F4 Ї
245 F5 Ї
246 F6 Ў
247 F7 ў
248 F8 ° 학위 기호
249 F9 곱하기 기호(점)
250 ·
251 페이스북 급진적(근본 취하기)
252 FC 숫자 기호
253 FD ¤ 통화 기호(루블)
254 FE
255 FF

텍스트를 작성할 때 문자를 직접 표시하는 이진 코드 외에도 새 줄로의 전환 및 줄의 0 위치로 커서가 반환(캐리지 리턴)됨을 나타내는 코드가 사용됩니다. 이러한 문자는 일반적으로 함께 사용됩니다. 이진 코드는 10진수(10(0A) 및 13(0D))에 해당합니다. 예를 들어, 아래는 이 페이지의 텍스트 섹션(메모리 덤프)입니다. 이 섹션에는 첫 번째 단락이 포함되어 있습니다. 다음 형식은 메모리 덤프에 정보를 표시하는 데 사용됩니다.

  • 첫 번째 열은 문자열의 첫 번째 바이트의 이진 주소를 포함합니다.
  • 다음 16개 열에는 텍스트 파일에 포함된 바이트가 포함됩니다. 바이트 수를 보다 쉽게 ​​결정할 수 있도록 8번째 열 뒤에 세로선을 그립니다. 간결함을 위해 바이트는 16진수 코드로 표시됩니다.
  • 마지막 열에서 이러한 동일한 바이트는 표시된 알파벳 문자로 표시됩니다.
00000000: 82 E1 A5 20 E1 A8 AC A2 ¦ AE AB EB 20 A8 20 A1 E3 모든 문자 및 bu AE A4 A8 E0 AE A2 ¦ A0 AD EB 20 AF E0 A8 20 000008030으로 코딩된 A AE AF9 AE 8030: ¦ AE E1 EC AC A8 20 A4 A2 00000040: AE A8 E7 AD EB E5 20 E1 ¦ A8 AC A2 AE AB AE A2 2E 00000050: 0D 0A 8D A0 A8 A1 AE AB ¦ A5 A5 20 E0 A0 E1 AF E0 AC A8 20 EF ¦ A2 AB EF EE E2 E1 EF 20명은 00000080: E2 A0 A1 4 AB 1 20 E1 20 ASCII 테이블 00000090: AD A0 E6 A8 AE AD A0 AB ¦ EC AD EB AC A8 0D 0A E0 국가 확장♪◙p 000000A0: A0 E1 E8 A8 E0 A5 AD A8 ¦ EF AC A8 2C at 000000B0: AC A5 AD EF EE E9 A8 A5 ¦ E1 EF 20 A2 20 44 4F 53 DOS에서 변경 000000C0: 20 28 A8 20 AA AE E2 AE ¦ E0 EB A5 20 AD: 0 AE A6 20 AC 및 0 AE 20 A8 E1 AF AE AB EC ¦ A7 AE A2 A0 E2 EC 20 A4 : AB EF 20 A7 A0 AF A8 E1 ¦ A8 0D 0A E2 A5 AA E1 E2 쓰기♪◙텍스트 000000F0: AE AAA2 20 A8 A22 AE AF E0 AE E6 A5 E1 A0 E5 29 2C 20 ¦ A8 20 E2 A0 A1 AB A8 E6 sop) 및 테이블 00000110: EB 20 41 4E 53 49 2C 20 ¦ AF E0 A8 EE 0 AD 0 ANSI 적용 00120: E9 A8 A5 E1 EF 20 A2 20 ¦ 57 49 4E 44 4F 57 53 2E는 WINDOWS에서 사용할 수 있습니다. 00000130: 20 82 20 E2 A0 A1 AB A8 ¦ E6 A0 E5 0D 0A 41 53 43 31 32 38 20 E1 A8 AC ¦ A2 AE AB AE A2 20 E1 AE0 102 AEE 82 20 ED E2 AE A9 20 이 00000170: E7 A0 E1 E2 A8 20 E2 A0 ¦ A1 AB A8 E6 EB 20 E1 AE 부품 테이블 00000180: A4 A5 E0 A6 A0 E2 E1 EF ¦ 0D 0A E1 A8 AC A2 0D 0A E1 A8 AC A2 ♪ : EB는 유지 20 E6 A8 E4 E0 2C 20 ¦ A7 AD A0 AA AE A2 20 AF 숫자, 기호 n 000001A0: E0 A5 AF A8 AD A0 AD A8 ¦ EF 2C 20 AB A0 E2 A8 AD 다시 고정, 01 라틴 AB00 A8 A5 20 A1 E3 AA ¦ A2 EB 20 A2 A5 E0 E5 AD 상단 000001C0: A5 A3 AE 20 A8 20 AD A8 ¦ A6 AD A5 A3 AE ¦ 20 E0 A5 하단 D 000001D0: A2 E0 E1 AE 0A E3 AF E0 A0 A2 히스터 및♪◙제어 ​​000001E0: AB EF EE E9 A8 A5 20 E1 ¦ A8 AC A2 AE AB EB 2E 20자. 000001F0: 8D A0 E6 A8 AE AD A0 AB ¦ EC AD EB A5 20 E0 A0 E1 내셔널 레이스 00000200: E8 A8 E0 A5 AD A8 EF 20 ¦ E1 A8 AC A2 AE AB EC AD 문자 확장 8 AB 2 0 E A8 AC A2 테이블 및 기호 00000220: AE AB EB 0D 0A AF E1 A5 ¦ A2 A4 AE A3 E0 A0 E4 A8 oly♪◙가짜 00000230: AA A8 20 E1 AE A4 A5 E0 E2ki A1 포함됨 00000240에서: AF AE E1 AB A5 A4 AD A8 ¦ E5 20 31 32 38 20 AA AE 마지막 128 ko 00000250: A4 A0 E5 20 ED E2 A8 E5 ¦ 20 E2 A0 A12AB 0, 6 A0 E2 AB AE ED E2 AE AC E3 ¦ 20 E0 E3 E1 E1 AA A8 A5 따라서 러시아어 00000270: 0D 0A E2 A5 AA E1 E2 EB ¦ 20 A2 20 AE AF A5 E0 A0 ♪◙ E 오페라 000002 텍스트 20 ¦ E1 A8 E1 E2 A5 AC A0 E5 AF A0 A4 ¦ A0 EE E2 2E 0D 0A가 일치하지 않습니다. ♪◙

위의 예에서 텍스트의 첫 번째 줄이 80바이트임을 알 수 있습니다. 첫 번째 바이트(82)는 문자 "B"에 해당합니다. 두 번째 바이트 E1은 문자 "c"에 해당합니다. 세 번째 바이트 A5는 문자 "e"에 해당합니다. 다음 바이트 20은 단어(공백) " " 사이의 빈 공간을 나타냅니다. 바이트 81 및 82에는 캐리지 리턴 및 줄 바꿈 문자 0D 0A가 포함됩니다. 이진 주소 00000050에서 다음 문자를 찾습니다. 원본 텍스트의 다음 줄은 16의 배수가 아니므로(길이는 76자), 끝을 찾으려면 먼저 줄 000000E0:을 찾아야 합니다. 9개의 열이 있습니다. 캐리지 리턴 및 라인 피드 바이트 0D 0A가 다시 기록됩니다. 나머지 텍스트는 정확히 같은 방식으로 구문 분석됩니다.

파일의 마지막 업데이트 날짜 04.12.2018

문학:

그들은 "바이너리 코드로 텍스트 쓰기"라는 기사와 함께 다음과 같이 읽었습니다.

컴퓨터 또는 마이크로컨트롤러의 메모리에 있는 이진수 표현
http://website/proc/IntCod.php

때로는 프로세서 메모리에 숫자를 10진수 형식으로 저장하는 것이 편리합니다.
http://website/proc/DecCod.php

컴퓨터 및 마이크로컨트롤러를 위한 표준 부동 소수점 형식
http://website/proc/float/

현재 위치 및 비 위치 번호 시스템은 기술과 일상 생활 모두에서 널리 사용됩니다.
.php

가장 간단하고 요구 사항을 충족하기 때문에:

  • 시스템에 있는 값이 적을수록 이러한 값에서 작동하는 개별 요소를 만들기가 더 쉽습니다. 특히, 이진수 시스템의 두 자리는 많은 물리적 현상으로 쉽게 나타낼 수 있습니다. 전류가 있음 - 전류가 없음, 자기장 유도가 임계 값보다 큰지 여부 등
  • 요소의 상태 수가 적을수록 노이즈 내성이 높아지고 더 빠르게 작동할 수 있습니다. 예를 들어 자기장 유도 값을 통해 세 가지 상태를 인코딩하려면 두 개의 임계값을 입력해야 하며, 이는 정보 저장의 노이즈 내성과 신뢰성에 기여하지 않습니다.
  • 이진 산술은 매우 간단합니다. 숫자에 대한 기본 연산인 덧셈과 곱셈의 표는 간단합니다.
  • 논리 대수학 장치를 사용하여 숫자에 대한 비트 연산을 수행할 수 있습니다.

연결

  • 한 숫자 체계에서 다른 숫자 체계로 숫자를 변환하기 위한 온라인 계산기

위키미디어 재단. 2010년 .

다른 사전에 "바이너리 코드"가 무엇인지 확인하십시오.

    2 회색의 2 비트 코드 00 01 11 10 3 비트 코드 그레이 회색 000 000 000 000 001 011011111001100 4 비트 코드 그레이 그레이 0000 0000 0000 001110 0110 01111 0100 1100 1101 111111101010101010100 GRA COMPLY. ​​이웃 값이 2개인 경우 … … 위키피디아

    신호 시스템 7(SS7, SS 7)의 신호 포인트 코드(영어 SPC(Signal Point Code))는 통신 SS 7 네트워크에서 세 번째 MTP 레벨(라우팅)에서 사용되는 고유(홈 네트워크에서) 노드 주소입니다. 식별 ... Wikipedia

    수학에서 무제곱수는 1 이외의 제곱으로 나눌 수 없는 숫자입니다. 예를 들어 10은 제곱이 아니지만 18은 9 = 32로 나눌 수 있기 때문에 18이 아닙니다. 무제곱 수 시퀀스의 시작 부분은 다음과 같습니다. : 1, 2, 3, 5, 6, 7, ... ... 위키피디아

    이 문서를 개선하시겠습니까?: 문서를 Wikify합니다. 기사 작성 규칙에 따라 디자인을 다시 작업하십시오. Wikipedia의 문체 규칙에 따라 기사를 수정하십시오 ... Wikipedia

    이 용어에는 다른 의미가 있습니다. Python(동음이의)을 참조하십시오. Python 언어 클래스: mu ... Wikipedia

    좁은 의미의 단어로 현재로서는 "보안 시스템에 대한 공격"으로 이해되고 있으며, 오히려 다음 용어 크래커 공격의 의미로 가는 경향이 있습니다. 이는 '해커'라는 단어의 의미가 왜곡됐기 때문이다. 해커 ... ... 위키피디아

나는 텍스트를 이진 코드로 또는 그 반대로 변환하는 것과 같은 도구를 만들기로 결정했습니다. 그러한 서비스가 있지만 일반적으로 라틴어와 함께 작동하지만 내 번역기는 UTF-8 유니코드 인코딩으로 작동합니다., 키릴 문자를 2바이트로 인코딩합니다. 한자를 번역하는 것은 불가능하지만, 이 안타까운 오해를 바로잡겠습니다.

텍스트를 이진 표현으로 변환하려면왼쪽 상자에 텍스트를 입력하고 오른쪽 상자에서 TEXT->BIN을 누르면 바이너리 표현이 나타납니다.

이진 코드를 텍스트로 변환하려면오른쪽 창에 코드를 입력하고 왼쪽 창에서 BIN->TEXT를 누르면 기호 표현이 나타납니다.

만약에 바이너리 코드를 텍스트로 변환또는 그 반대의 경우도 작동하지 않습니다 - 데이터의 정확성을 확인하십시오!

업데이트!

이제 리버스 뷰 텍스트 변환을 사용할 수 있습니다.

정상적인 모습으로. 이렇게 하려면 "0을 공백으로, 1을 자리 표시자 █로 바꾸십시오" 상자를 선택하십시오. 그런 다음 텍스트를 오른쪽 상자에 붙여넣고 "텍스트 형식의 바이너리 표현" 아래에 있는 "BIN->TEXT" 버튼을 누릅니다.

이러한 텍스트를 복사할 때는 주의해야 합니다. 시작이나 끝에서 공백을 쉽게 잃을 수 있습니다. 예를 들어 위의 줄은 다음과 같습니다.

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

그리고 빨간색 배경에:

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

마지막에 얼마나 많은 공간이 손실될 수 있는지 보십시오.

컴퓨터는 사람이 하는 것처럼 단어와 숫자를 이해하지 못합니다. 최신 소프트웨어를 사용하면 최종 사용자가 이를 무시할 수 있지만 가장 낮은 수준에서 컴퓨터는 이진 전기 신호로 작동합니다. 상태가 두 개뿐입니다.: 전류가 흐르거나 전류가 흐르지 않습니다. 복잡한 데이터를 "이해"하려면 컴퓨터가 이를 바이너리로 인코딩해야 합니다.

이진 시스템은 컴퓨터가 이해할 수 있는 켜짐 및 꺼짐 상태에 해당하는 1과 0의 두 자리 숫자를 기반으로 합니다. 십진법에 익숙할 것입니다. 0에서 9까지의 10자리 숫자를 사용하고 다음 순서로 이동하여 두 자리 숫자를 형성합니다. 각 순서의 숫자는 이전 숫자의 10배입니다. 이진법은 비슷하며 각 숫자는 이전 숫자의 두 배입니다.

이진법으로 계산하기

2진수에서 첫 번째 숫자는 10진수로 1과 같습니다. 두 번째 숫자는 2, 세 번째 숫자는 4, 네 번째 숫자는 8 등 매번 두 배로 증가합니다. 이 모든 값을 더하면 십진수 형식의 숫자가 표시됩니다.

1111(2진법) = 8 + 4 + 2 + 1 = 15(십진법)

0에 대한 설명은 4개의 이진 비트에 대해 16개의 가능한 값을 제공합니다. 8비트를 이동하면 256개의 가능한 값을 얻을 수 있습니다. 10진수로 된 4자리는 10,000개의 가능한 값을 제공하기 때문에 이것은 표현하는 데 훨씬 더 많은 공간을 차지합니다. 물론 이진 코드는 더 많은 공간을 차지하지만 컴퓨터는 십진법보다 이진 파일을 훨씬 더 잘 이해합니다. 논리 처리와 같은 몇 가지 경우에는 이진이 십진보다 낫습니다.

프로그래밍에 사용되는 또 다른 기본 시스템이 있다고 말해야 합니다. 16진수. 컴퓨터는 16진수로 작동하지 않지만 프로그래머는 코드를 작성할 때 이를 사용하여 사람이 읽을 수 있는 형식으로 이진 주소를 나타냅니다. 이는 16진수의 두 자리 숫자가 전체 바이트를 나타낼 수 있기 때문입니다. 즉, 이진수의 8자리를 대체하기 때문입니다. 16진법 시스템은 숫자 0-9와 A부터 F까지의 문자를 사용하여 추가 6자리를 얻습니다.

컴퓨터가 바이너리를 사용하는 이유

짧은 대답: 하드웨어와 물리 법칙. 컴퓨터의 모든 문자는 전기 신호이며 컴퓨팅 초기에는 전기 신호를 측정하는 것이 훨씬 더 어려웠습니다. 음전하로 표시되는 "켜짐" 상태와 양전하로 표시되는 "꺼짐" 상태만 구별하는 것이 더 합리적입니다.

"꺼짐"이 양전하로 표시되는 이유를 모르는 사람들에게는 전자가 음전하를 띠고 전자가 많을수록 음전하를 가진 더 많은 전류를 의미하기 때문입니다.

따라서 초기 방 크기의 컴퓨터가 사용되었습니다. 바이너리그들은 시스템을 구축하기 위해 더 오래되고 더 큰 장비를 사용했지만 동일한 기본 원칙에 따라 작동했습니다. 현대 컴퓨터는 트랜지스터 이진 코드로 계산을 수행합니다.

다음은 일반적인 트랜지스터의 다이어그램입니다.

기본적으로 게이트에 전류가 있으면 소스에서 드레인으로 전류가 흐를 수 있습니다. 이것은 바이너리 키를 형성합니다. 제조업체는 이 트랜지스터를 5나노미터만큼 작게 만들거나 DNA 가닥 2개만큼 작게 만들 수 있습니다. 이것이 최신 프로세서가 작동하는 방식이며, 켜짐 및 꺼짐 상태를 구별하는 문제로 인해 어려움을 겪을 수도 있습니다(비현실적인 분자 크기로 인해 양자 역학의 기이함).

왜 바이너리 시스템만

그래서 당신은 "왜 0과 1만 있지? 왜 다른 번호를 추가하지 않습니까? 이것은 부분적으로 컴퓨터를 만드는 전통에 기인하지만, 동시에 하나의 숫자를 더 추가하면 "꺼짐" 또는 "켜짐"뿐만 아니라 현재의 상태를 하나 더 강조 표시해야 할 필요가 있음을 의미합니다.

여기서 문제는 여러 전압 레벨을 사용하려는 경우 이를 사용하여 쉽게 계산을 수행할 수 있는 방법이 필요하며 이를 수행할 수 있는 최신 하드웨어는 이진 계산을 대체할 수 없다는 것입니다. 예를 들어, 소위 트리플 컴퓨터, 1950년대에 개발되었지만 개발은 거기서 멈췄습니다. 삼항 논리 바이너리보다 효율적이지만 바이너리 트랜지스터를 효과적으로 대체할 수 있는 방법이 아직 없거나 적어도 바이너리만큼 작은 트랜지스터는 없습니다.

삼항 논리를 사용할 수 없는 이유는 트랜지스터가 컴퓨터에 연결되는 방식과 수학적 계산에 사용되는 방식 때문입니다. 트랜지스터는 두 개의 입력에 대한 정보를 수신하고 연산을 수행하고 결과를 하나의 출력으로 반환합니다.

따라서 이진 수학은 다른 어떤 것보다 컴퓨터에 더 쉽습니다. 이진 논리는 On 및 Off 상태에 해당하는 True 및 False를 사용하여 이진 시스템으로 쉽게 변환됩니다.

이진 논리에서 실행되는 이진 진리표에는 각 기본 연산에 대해 4개의 가능한 출력이 있습니다. 그러나 삼중 게이트는 3개의 입력을 사용하기 때문에 삼중 진리표는 9개 이상을 가질 것입니다. 이진 시스템에는 16개의 가능한 연산자(2^2^2)가 있지만 삼항 시스템에는 19683(3^3^3)이 있습니다. 삼위일체가 더 효율적이지만 기하급수적으로 더 복잡하기 때문에 확장이 문제가 됩니다.

누가 알아?미래에는 이진 논리가 소형화의 문제에 부딪히기 때문에 삼항 컴퓨터를 아주 잘 볼 수 있을 것입니다. 현재로서는 세계가 바이너리 모드에서 계속 작동할 것입니다.

이진 코드 용량, 연속 형식에서 이산 형식으로 정보 변환, 이진 코딩의 보편성, 균일 및 비균일 코드, 정보학 7학년 Bosov, 정보학 7학년

1.5.1. 정보를 연속형에서 이산형으로 변환
문제를 해결하기 위해 사람은 종종 사용 가능한 정보를 한 표현 형식에서 다른 표현 형식으로 변환해야 합니다. 예를 들어, 소리내어 읽을 때 정보는 이산(텍스트) 형식에서 연속(소리) 형식으로 변환됩니다. 반대로 러시아어 수업에서 받아쓰기를 하는 동안 정보는 연속적인 형식(교사의 목소리)에서 개별적인 형식(학생 노트)으로 변환됩니다.
개별 형식으로 제공된 정보는 전송, 저장 또는 자동 처리가 훨씬 쉽습니다. 따라서 컴퓨터 기술에서는 정보를 연속 형식에서 이산 형식으로 변환하는 방법에 많은 관심을 기울입니다.
정보의 이산화는 정보를 연속적인 형식의 표현에서 이산적인 형식으로 변환하는 과정입니다.
예에 대한 정보의 이산화 과정의 본질을 고려하십시오.
기상 관측소에는 대기압을 지속적으로 기록하기 위한 자체 기록 장치가 있습니다. 그들의 작업 결과는 압력이 오랜 기간 동안 어떻게 변했는지 보여주는 바로그램입니다. 7시간의 관찰 동안 기기에 의해 그려진 그러한 곡선 중 하나가 그림 1에 나와 있습니다. 1.9.

획득한 정보를 기반으로 측정 시작 시와 각 시간의 관찰 종료 시 기기 판독값을 포함하는 표를 작성할 수 있습니다(그림 1.10).

결과 표는 관찰 기간 동안 압력이 어떻게 변했는지에 대한 완전한 그림을 제공하지 않습니다. 예를 들어, 관찰 4시간 동안 발생한 최고 압력 값은 표시되지 않습니다. 그러나 30분 또는 15분마다 관찰된 압력 값을 표에 입력하면 새 표는 압력이 어떻게 변했는지에 대한 보다 완전한 그림을 제공합니다.
따라서 정확도가 약간 떨어지는 연속 형식(바로그램, 곡선)으로 표시된 정보를 이산 형식(표)으로 변환했습니다.
앞으로는 사운드 및 그래픽 정보를 개별적으로 표시하는 방법에 대해 알게 될 것입니다.

3개의 이진 문자의 사슬은 오른쪽의 2비트 이진 코드를 문자 0 또는 1로 보완하여 얻습니다. 결과적으로 3개의 이진 문자의 코드 조합은 8 - 두 이진 문자의 두 배입니다.
따라서 4비트 바이너리를 사용하면 16개의 코드 조합, 5비트 1-32, 6비트 1-64 등을 얻을 수 있습니다. 이진 체인의 길이(바이너리 코드의 문자 수)는 다음과 같습니다. 바이너리 코드의 비트 심도라고 합니다.
참고:
4 = 2 * 2,
8 = 2 * 2 * 2,
16 = 2 * 2 * 2 * 2,
32 = 2 * 2 * 2 * 2 * 2 등
여기서 코드 조합의 수는 이진 코드의 비트 깊이와 동일한 동일한 요소의 특정 수의 곱입니다.
코드 조합의 수를 문자 N으로 표시하고 이진 코드의 비트 깊이를 문자 i로 표시하면 일반 형식의 공개 패턴은 다음과 같이 작성됩니다.
N = 2 * 2 * ... * 2.
나는 요인
수학에서 이러한 제품은 다음과 같이 작성됩니다.
N = 2i.
기록 2 나는 다음과 같이 읽었다: "2의 i번째 거듭제곱."

작업. Multi 부족의 지도자는 그의 장관에게 바이너리를 개발하고 모든 중요한 정보를 번역하도록 지시했습니다. Multi 부족이 사용하는 알파벳이 16자라면 비트 심도는 얼마가 필요합니까? 모든 코드 조합을 기록하십시오.
해결책. Multi 부족의 알파벳은 16자로 구성되어 있으므로 16개의 코드 조합이 필요하며 이 경우 바이너리 코드의 길이(자리수)는 16 = 2 i 의 비율로 결정됩니다. 따라서 나는 = 4입니다.
4개의 0과 1의 모든 코드 조합을 작성하기 위해 그림 4의 다이어그램을 사용합니다. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110,0111,1000,1001,1010,1011,1100,1101,1110,1111.

1.5.3. 이진 인코딩의 다양성
이 섹션의 시작 부분에서 연속 형식으로 표현될 때 일부 자연어 또는 형식 언어의 기호를 사용하여 표현할 수 있다는 것을 배웠습니다. 차례로 임의의 알파벳 문자를 이진수로 변환할 수 있습니다. 따라서 이진 코드의 도움으로 이미지와 소리뿐만 아니라 자연어 및 형식 언어로 누구나 표현할 수 있습니다(그림 1.14). 이것은 바이너리 코딩의 보편성을 의미합니다.
이진 코드는 컴퓨터 기술에서 널리 사용되며 전자 회로의 두 가지 상태, 즉 "on"(숫자 1에 해당)과 "off"(숫자 0에 해당)만 필요합니다.
기술 구현의 단순성은 바이너리 코딩의 주요 이점입니다. 이진 인코딩의 단점은 결과 코드의 길이가 길다는 것입니다.

1.5.4. 균일 및 비균일 코드
균일 코드와 비 균일 코드를 구별하십시오. 코드 조합의 균일 코드에는 동일하지 않은 동일한 수의 문자가 포함됩니다.
위에서 우리는 균일한 바이너리 코드를 고려했습니다.
비균일 코드의 예는 모스 코드이며, 여기서 각 문자와 숫자에 대해 일련의 짧고 긴 신호가 정의됩니다. 따라서 문자 E는 짧은 신호("점")에 해당하고 문자 Ш는 4개의 긴 신호(4개의 "대시")에 해당합니다. Uneven을 사용하면 전송된 정보에서 가장 자주 발생하는 기호가 가장 짧은 코드 조합을 갖기 때문에 메시지 전송 속도를 높일 수 있습니다.

이 기호가 제공하는 정보는 시스템의 엔트로피와 동일하며 두 상태가 모두 동일할 가능성이 있는 경우 최대입니다. 이 경우 기본 기호는 정보 1(이중 단위)을 전달합니다. 따라서 최적 코딩의 기초는 인코딩된 텍스트의 기본 문자가 평균적으로 동등하게 자주 발생해야 한다는 요구 사항이 될 것입니다.

명시된 조건을 만족하는 코드를 구성하는 방법을 여기에서 설명하겠습니다. 이 방법을 Shannon-Fano 코드라고 합니다. 그 아이디어는 인코딩된 문자(문자 또는 문자의 조합)가 거의 동일한 가능성이 있는 두 그룹으로 분할된다는 것입니다. 첫 번째 문자 그룹의 경우 0은 조합의 첫 번째 위치에 배치됩니다( 캐릭터); 두 번째 그룹의 경우 - 1. 또한, 각 그룹은 다시 거의 동일한 가능성이 있는 두 개의 하위 그룹으로 나뉩니다. 첫 번째 하위 그룹의 기호의 경우 두 번째 위치에 0이 표시됩니다. 두 번째 하위 그룹 - 하나 등

러시아 알파벳의 재료에 Shannon-Fano 코드를 구성하는 원리를 보여줍시다(표 18.8.1). 처음 여섯 글자("-"에서 "t"까지)를 세어 보겠습니다. 확률(빈도)을 합하면 0.498이 됩니다. 다른 모든 문자("n"에서 "sf"까지)는 0.502의 거의 동일한 확률을 갖습니다. 처음 6개의 문자("-"에서 "t"까지)는 처음에 이진 기호 0을 가지며 나머지 문자("n"에서 "f"까지)는 처음에 단위를 갖습니다. 다음으로, 우리는 첫 번째 그룹을 "-"에서 "o"로, "e"에서 "t"로 거의 동일한 가능성이 있는 두 개의 하위 그룹으로 다시 나눕니다. 첫 번째 하위 그룹의 모든 문자에 대해 두 번째 위치에 0을 넣고 두 번째 하위 그룹에 하나를 넣습니다.각 하위 그룹에 정확히 하나의 문자가 남을 때까지 프로세스를 계속하고 특정 이진수로 인코딩됩니다. 메커니즘은 표 18.8.2에 나와 있으며 코드 자체는 표 18.8.3에 나와 있습니다.

표 18.8.2.

이진 기호

표 18.8.3

표 18.8.3은 모든 메시지를 인코딩 및 디코딩할 수 있습니다.

예를 들어 "정보 이론"이라는 문구를 이진 코드로 작성해 보겠습니다.

01110100001101000110110110000

0110100011111111100110100

1100001011111110101100110

이 디코딩이 없어도 명확하게 수행되기 때문에 여기에서는 특수 기호로 문자를 서로 구분할 필요가 없습니다. 이는 표 18.8.2를 사용하여 다음 구문을 디코딩하여 확인할 수 있습니다.

10011100110011001001111010000

1011100111001001101010000110101

010110000110110110

("코딩 방법").

그러나 이러한 코드에 대한 인코딩 오류(문자 0과 1의 우발적 혼동)는 오류 다음에 오는 전체 텍스트의 디코딩이 불가능해지기 때문에 치명적이라는 점에 유의해야 합니다. 따라서 이 코딩 원칙은 메시지의 코딩 및 전송 오류가 실질적으로 배제되는 경우에만 권장할 수 있다.

자연스러운 질문이 생깁니다. 오류가 없는 상태에서 컴파일한 코드가 정말 최적입니까? 이 질문에 답하기 위해 하나의 기본 기호(0 또는 1)당 평균 정보를 찾아 1 이진 단위와 동일한 가능한 최대 정보와 비교합시다. 이를 위해 먼저 전송된 텍스트의 한 글자에 포함된 평균 정보, 즉 글자당 엔트로피를 찾습니다.

,

여기서 문자가 특정 상태를 취할 확률("-", o, e, a, ..., f)입니다.

테이블에서. 18.8.1 우리는

(텍스트의 문자당 두 단위).

표 18.8.2에 따라 문자당 기본 문자의 평균 수를 결정합니다.

엔트로피를 나누면 기본 기호당 정보를 얻습니다.

(2개 단위).

따라서 심볼당 정보는 상한선인 1에 매우 가깝고 우리가 선택한 코드는 최적에 매우 가깝습니다. 문자로 코딩하는 작업의 한계 내에 머물면서 우리는 더 나은 것을 얻을 수 없습니다.

문자의 이진수만 인코딩하는 경우 5개의 이진 문자가 있는 각 문자의 이미지가 있고 문자당 정보는 다음과 같습니다.

(2개 단위),

즉, 최적의 문자 코딩보다 눈에 띄게 적습니다.

그러나 "맞춤법" 코딩은 전혀 경제적이지 않다는 점에 유의해야 합니다. 사실 의미 있는 텍스트의 인접 문자 사이에는 항상 의존성이 있습니다. 예를 들어 러시아어 모음 뒤에 "ъ" 또는 "ь"가 올 수 없습니다. 치찰음 후에 "나"또는 "유"는 참을 수 없습니다. 여러 개의 자음이 연속으로 나오면 모음의 확률이 높아지는 등

우리는 종속 시스템이 결합될 때 총 엔트로피가 개별 시스템의 엔트로피 합보다 작다는 것을 알고 있습니다. 따라서 연결된 텍스트가 전달하는 정보는 문자당 정보에 문자 수를 곱한 것보다 항상 적습니다. 이러한 상황에서 각 문자가 개별적으로 인코딩되지 않고 문자의 전체 "블록"이 인코딩되면 보다 경제적인 코드를 구성할 수 있습니다. 예를 들어, 러시아어 텍스트에서는 "ts", "ает", "nie" 등과 같이 자주 발생하는 일부 문자 조합을 전체적으로 인코딩하는 것이 좋습니다. 인코딩된 블록은 다음과 같이 주파수의 내림차순으로 배열됩니다. 표의 글자. 18.8.1, 바이너리 인코딩은 동일한 원리에 따라 수행됩니다.

어떤 경우에는 문자 블록도 인코딩하지 않고 의미 있는 전체 텍스트 조각을 인코딩하는 것이 합리적입니다. 예를 들어, 휴일에 전신국을 내리려면 다음과 같은 조건부 숫자로 전체 표준 텍스트를 인코딩하는 것이 좋습니다.

"새해 복 많이 받으시고 건강하시고 하시는 일 모두 번창하시길 바랍니다."

블록 코딩 방법에 대해 구체적으로 다루지 않고 관련 Shannon 정리를 공식화하는 것으로 제한합니다.

정보 소스와 통신 채널로 연결된 수신기가 있다고 가정합니다(그림 18.8.1).

정보 소스의 성능은 알려져 있습니다. 즉, 단위 시간당 소스에서 오는 정보의 이진 단위의 평균 수입니다(숫자적으로는 단위 시간당 소스에서 생성된 메시지의 평균 엔트로피와 같습니다). 또한 채널 용량, 즉 채널이 동일한 시간 단위로 전송할 수 있는 정보의 최대량(예: 이진 문자 0 또는 1)을 알고 있다고 가정합니다. 문제가 발생합니다. 채널이 해당 작업에 "대응"하기 위해, 즉 소스에서 수신기로의 정보가 지연 없이 도착하도록 하기 위해 채널의 대역폭은 얼마여야 합니까?

이 질문에 대한 답은 Shannon의 첫 번째 정리에 의해 제공됩니다. 우리는 증거 없이 그것을 공식화합니다.

1차 섀넌의 정리

통신 채널의 대역폭이 단위 시간당 정보원의 엔트로피보다 큰 경우

그러면 지연 없이 통신 채널에 의해 전송될 수 있도록 충분히 긴 메시지를 인코딩하는 것이 항상 가능합니다. 반대로,

그러면 지체 없이 정보를 전달할 수 없습니다.