Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Какое количество бит содержит слово «информатика»?

Количество бит в информатике
Анонимный вопрос
  ·   · 118,3 K
Кандидат физ.-мат. наук, делаю Яндекс, увлекаюсь...  · 10 июн 2020

Если бы этот вопрос задали моему ребенку на уроке информатики, то я бы, чтобы помочь ему получить хорошую оценку, ответил, что 88. Сейчас объясню, как обосновать этот ответ в школе, и почему он при этом не совсем правильный, а в настоящем программировании всё сложнее.

В слове "информатика" 11 букв. Каждую букву мы можем закодировать одним байтом. В одном байте 8 бит, поэтому ответ 11х8=88.

Как это проверить? Очень просто, запустите на компьютере "Блокнот" (я предполагаю, что у вас Windows), напечатайте в нём это слово и сохраните в текстовый файл. Кликните правой кнопкой, выберите "свойства", видите? Размер: 11 байт (то есть 88 бит).

Теперь о том, почему в реальности всё сложнее. Мы выше написали, что каждую букву мы закодируем одним байтом. Всего разных символов у нас, таким образом, может быть максимум столько, сколько разных значений у одного байта, то есть 2 в восьмой степени, 256. Это значит, что все буквы всех алфавитов мира в один байт точно не влезут. Даже одни только японские или китайские иероглифы в один байт не вмещаются.

То есть кодировка, какому значению байта соответствует какая буква, это вовсе не универсальная штука, они бывают разные. В "Блокноте" и много где ещё в Windows используется кодировка Windows-1251 (это если вы в России живете, в других странах другие). В некоторых кодировках слово "информатика" просто нельзя записать. А в Windows-1251 нельзя записать слово 信息学. Если вы свой текстовый файлик, содержащий слово "информатика", пришлёте китайцу, он, открыв его, увидит какую-то абракадабру, и наоборот. Так что ответ "11 байт или 88 бит" предполагает, что мы с получателем используем одну и ту же однобайтовую кодировку, содержащую кириллические буквы.

А есть такой стандарт кодирования, в котором можно написать что угодно и не устраивать вот этих сложностей? Как ни странно, есть! Он называется Unicode, и в ней каждому символу всех алфавитов Земли (даже вымершим языкам, даже египетским иероглифам, даже смайликам и эмоджи) присвоен свой код. Естественно, в нём много тысяч символов и в один байт всё это не влезет. Unicode можно для компьютера кодировать по-разному, но самый популярный вариант устроен так. В нём самые распространенные символы (цифры, точки-запятые-скобки и буквы латинского алфавита) занимают один байт, чуть менее распространенные (кириллические буквы, а также всякие там Ä и π) два байта, а всякая экзотика вроде индейских узелковых письменностей и четыре может занимать.

С каждым годом Unicode становится всё более популярным, а "старые" кодировки вроде Windows 1251, господствовавшие, когда писался школьный учебник по информатике, уходят на второй план. Так что по-честному я бы ответил, что в слове "информатика" 22 байта = 176 бит, ну, насколько уж этот вопрос вообще имеет смысл.

Вы тоже забыли символ конца строки :)

< Frontend-разработчик /> "Это не похоже на...  · 10 июн 2020
Смотря какой алфавит Вы используете. Если алфавит - просто строчные русские буквы, то всего имеется 33 символа. В таком случае, для кодировки каждого символа понадобится 6 бит (2^5 < 33, 2^6 >= 33 - берем ближайшую степень... Читать далее
Вы символ конца строки забыли :) То есть всего будет 72 бита. Вероятно, "66 бит" считается правильным ответом в... Читать дальше
Могу помочь с компьютерной техникой и мобильными...  · 13 мая 2021
Всё зависит от кодировки. В слове "информатика" всего 9 различных символов. Значит минимальное кол-во бит для каждого символа - 4 (2^3 < 9 < 2^4=16). Умножаем 4 на кол-во символов (4*11) и получаем минимальное кол-во бит (44... Читать далее

9 символов. Но суть отвёта довольно хороша.

Первый

11 букв содержит в слове информатика а в одном байте 8 бит надо 8 бит умножить на 11 потому что в слове информатика 11 букв Решения: 11*8=88 Ответ:88