• Двоичный код цифры перевод. Кодирование текстовой информации

    26.11.2020

    Всем известно, что компьютеры могут выполнять вычисления с большими группами данных на огромной скорости. Но не все знают, что эти действия зависят всего от двух условий: есть или нет ток и какое напряжение.

    Каким же образом компьютер умудряется обрабатывать такую разнообразную информацию?
    Секрет заключается в двоичной системе исчисления. Все данные поступают в компьютер, представленные в виде единиц и нулей, каждому из которых соответствует одно состояние электропровода: единицам - высокое напряжение, нулям - низкое или же единицам - наличие напряжения, нулям - его отсутствие. Преобразование данных в нули и единицы называется двоичной конверсией, а окончательное их обозначение - двоичным кодом.
    В десятичном обозначении, основанном на десятичной системе исчисления, которая используется в повседневной жизни, числовое значение представлено десятью цифрами от 0 до 9, и каждое место в числе имеет ценность в десять раз выше, чем место справа от него. Чтобы представить число больше девяти в десятичной системе исчисления, на его место ставится ноль, а на следующее, более ценное место слева - единица. Точно так же в двоичной системе, где используются только две цифры - 0 и 1, каждое место в два раза ценнее, чем место справа от него. Таким образом, в двоичном коде только ноль и единица могут быть изображены как одноместные числа, и любое число, больше единицы, требует уже два места. После ноля и единицы следующие три двоичных числа это 10 (читается один-ноль) и 11 (читается один-один) и 100 (читается один-ноль-ноль). 100 двоичной системы эквивалентно 4 десятичной. На верхней таблице справа показаны другие двоично-десятичные эквиваленты.
    Любое число может быть выражено в двоичном коде, просто оно займет больше места, чем в десятичном обозначении. В двоичной системе можно записать и алфавит, если за каждой буквой закрепить определенное двоичное число.

    Две цифры на четыре места
    16 комбинаций можно составить, используя темные и светлые шары, комбинируя их в наборах из четырех штук Если темные шары принять за нули, а светлые за единицы, то и 16 наборов окажутся 16-единичным двоичным кодом, числовая ценность которого составляет от нуля до пяти (см. верхнюю таблицу на стр. 27). Даже с двумя видами шаров в двоичной системе можно построить бесконечное количество комбинаций, просто увеличивая число шариков в каждой группе - или число мест в числах.

    Биты и байты

    Самая маленькая единица в компьютерной обработке, бит - это единица данных, которая может обладать одним из двух возможных условий. К примеру, каждая из единиц и нулей (справа) означает 1 бит. Бит можно представить и другими способами: наличием или отсутствием электрического тока, дырочкой и ее отсутствием, направлением намагничивания вправо или влево. Восемь битов составляют байт. 256 возможных байтов могут представить 256 знаков и символов. Многие компьютеры обрабатывают байт данных одновременно.

    Двоичная конверсия. Четырехцифровой двоичный код может представить десятичные числа от 0 до 15.

    Кодовые таблицы

    Когда двоичный код используется для обозначения букв алфавита или пунктуационных знаков, требуются кодовые таблицы, в которых указано, какой код какому символу соответствует. Составлено несколько таких кодов. Большинство ПК приспособлено под семицифровой код, называемый ASCII, или американский стандартный код для информационного обмена. На таблице справа показаны коды ASCII для английского алфавита. Другие коды предназначаются для тысяч символов и алфавитов других языков мира.

    Часть таблицы кода ASCII


    Греческая Грузинская
    Эфиопская
    Еврейская
    Акшара-санкхья Другие Вавилонская
    Египетская
    Этрусская
    Римская
    Дунайская Аттическая
    Кипу
    Майяская
    Эгейская
    Символы КППУ Позиционные , , , , , , , , , , Нега-позиционная Симметричная Смешанные системы Фибоначчиева Непозиционные Единичная (унарная)

    Двоичная система счисления - позиционная система счисления с основанием 2. Благодаря непосредственной реализации в цифровых электронных схемах на логических вентилях , двоичная система используется практически во всех современных компьютерах и прочих вычислительных электронных устройствах .

    Двоичная запись чисел

    В двоичной системе счисления числа записываются с помощью двух символов (0 и 1 ). Чтобы не путать, в какой системе счисления записано число, его снабжают указателем справа внизу. Например, число в десятичной системе 5 10 , в двоичной 101 2 . Иногда двоичное число обозначают префиксом 0b или символом & (амперсанд) , например 0b101 или соответственно &101 .

    В двоичной системе счисления (как и в других системах счисления, кроме десятичной) знаки читаются по одному. Например, число 101 2 произносится «один ноль один».

    Натуральные числа

    Натуральное число, записываемое в двоичной системе счисления как (a n − 1 a n − 2 … a 1 a 0) 2 {\displaystyle (a_{n-1}a_{n-2}\dots a_{1}a_{0})_{2}} , имеет значение:

    (a n − 1 a n − 2 … a 1 a 0) 2 = ∑ k = 0 n − 1 a k 2 k , {\displaystyle (a_{n-1}a_{n-2}\dots a_{1}a_{0})_{2}=\sum _{k=0}^{n-1}a_{k}2^{k},}

    Отрицательные числа

    Отрицательные двоичные числа обозначаются так же как и десятичные: знаком «−» перед числом. А именно, отрицательное целое число, записываемое в двоичной системе счисления (− a n − 1 a n − 2 … a 1 a 0) 2 {\displaystyle (-a_{n-1}a_{n-2}\dots a_{1}a_{0})_{2}} , имеет величину:

    (− a n − 1 a n − 2 … a 1 a 0) 2 = − ∑ k = 0 n − 1 a k 2 k . {\displaystyle (-a_{n-1}a_{n-2}\dots a_{1}a_{0})_{2}=-\sum _{k=0}^{n-1}a_{k}2^{k}.}

    дополнительном коде .

    Дробные числа

    Дробное число, записываемое в двоичной системе счисления как (a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 {\displaystyle (a_{n-1}a_{n-2}\dots a_{1}a_{0},a_{-1}a_{-2}\dots a_{-(m-1)}a_{-m})_{2}} , имеет величину:

    (a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 = ∑ k = − m n − 1 a k 2 k , {\displaystyle (a_{n-1}a_{n-2}\dots a_{1}a_{0},a_{-1}a_{-2}\dots a_{-(m-1)}a_{-m})_{2}=\sum _{k=-m}^{n-1}a_{k}2^{k},}

    Сложение, вычитание и умножение двоичных чисел

    Таблица сложения

    Пример сложения «столбиком» (десятичное выражение 14 10 + 5 10 = 19 10 в двоичном виде выглядит как 1110 2 + 101 2 = 10011 2):

    Пример умножения «столбиком» (десятичное выражение 14 10 * 5 10 = 70 10 в двоичном виде выглядит как 1110 2 * 101 2 = 1000110 2):

    Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1, называется двоичной точкой.

    Преобразование двоичных чисел в десятичные

    Допустим, дано двоичное число 110001 2 . Для перевода в десятичное запишите его как сумму по разрядам следующим образом:

    1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

    То же самое чуть иначе:

    1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

    Можно записать это в виде таблицы следующим образом:

    512 256 128 64 32 16 8 4 2 1
    1 1 0 0 0 1
    +32 +16 +0 +0 +0 +1

    Двигайтесь справа налево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа. Таким образом, двоичное число 110001 2 равнозначно десятичному 49 10 .

    Преобразование дробных двоичных чисел в десятичные

    Нужно перевести число 1011010,101 2 в десятичную систему. Запишем это число следующим образом:

    1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 −1 + 0 * 2 −2 + 1 * 2 −3 = 90,625

    То же самое чуть иначе:

    1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625

    Или по таблице:

    64 32 16 8 4 2 1 0.5 0.25 0.125
    1 0 1 1 0 1 0 , 1 0 1
    +64 +0 +16 +8 +0 +2 +0 +0.5 +0 +0.125

    Преобразование методом Горнера

    Для того, чтобы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева направо, умножая ранее полученный результат на основу системы (в данном случае 2). Методом Горнера обычно переводят из двоичной в десятичную систему. Обратная операция затруднительна, так как требует навыков сложения и умножения в двоичной системе счисления.

    Например, двоичное число 1011011 2 переводится в десятичную систему так:

    0*2 + 1 = 1
    1*2 + 0 = 2
    2*2 + 1 = 5
    5*2 + 1 = 11
    11*2 + 0 = 22
    22*2 + 1 = 45
    45*2 + 1 = 91

    То есть в десятичной системе это число будет записано как 91.

    Перевод дробной части чисел методом Горнера

    Цифры берутся из числа справа налево и делятся на основу системы счисления (2).

    Например 0,1101 2

    (0 + 1 )/2 = 0,5
    (0,5 + 0 )/2 = 0,25
    (0,25 + 1 )/2 = 0,625
    (0,625 + 1 )/2 = 0,8125

    Ответ: 0,1101 2 = 0,8125 10

    Преобразование десятичных чисел в двоичные

    Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой:

    19/2 = 9 с остатком 1
    9/2 = 4 c остатком 1
    4/2 = 2 без остатка 0
    2/2 = 1 без остатка 0
    1/2 = 0 с остатком 1

    Итак, мы делим каждое частное на 2 и записываем остаток в конец двоичной записи. Продолжаем деление до тех пор, пока в частном не будет 0. Результат записываем справа налево. То есть нижняя цифра (1) будет самой левой и т. д. В результате получаем число 19 в двоичной записи: 10011 .

    Преобразование дробных десятичных чисел в двоичные

    Если в исходном числе есть целая часть, то она преобразуется отдельно от дробной. Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:

    • Дробь умножается на основание двоичной системы счисления (2);
    • В полученном произведении выделяется целая часть, которая принимается в качестве старшего разряда числа в двоичной системе счисления;
    • Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются над дробной частью произведения.

    Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число.

    Перевод целой части дает 206 10 =11001110 2 по ранее описанным алгоритмам. Дробную часть 0,116 умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:

    0,116 2 = 0 ,232
    0,232 2 = 0 ,464
    0,464 2 = 0 ,928
    0,928 2 = 1 ,856
    0,856 2 = 1 ,712
    0,712 2 = 1 ,424
    0,424 2 = 0 ,848
    0,848 2 = 1 ,696
    0,696 2 = 1 ,392
    0,392 2 = 0 ,784
    и т. д.

    Таким образом 0,116 10 ≈ 0,0001110110 2

    Получим: 206,116 10 ≈ 11001110,0001110110 2

    Применения

    В цифровых устройствах

    Двоичная система используется в цифровых устройствах , поскольку является наиболее простой и соответствует требованиям:

    • Чем меньше значений существует в системе, тем проще изготовить отдельные элементы, оперирующие этими значениями. В частности, две цифры двоичной системы счисления могут быть легко представлены многими физическими явлениями: есть ток (ток больше пороговой величины) - нет тока (ток меньше пороговой величины), индукция магнитного поля больше пороговой величины или нет (индукция магнитного поля меньше пороговой величины) и т. д.
    • Чем меньше количество состояний у элемента, тем выше помехоустойчивость и тем быстрее он может работать. Например, чтобы закодировать три состояния через величину напряжения, тока или индукции магнитного поля, потребуется ввести два пороговых значения и два компаратора ,

    В вычислительной технике широко используется запись отрицательных двоичных чисел в дополнительном коде . Например, число −5 10 может быть записано как −101 2 но в 32-битном компьютере будет храниться как 2 .

    В английской системе мер

    При указании линейных размеров в дюймах по традиции используют двоичные дроби, а не десятичные, например: 5¾″, 7 15 / 16 ″, 3 11 / 32 ″ и т. д.

    Обобщения

    Двоичная система счисления является комбинацией двоичной системы кодирования и показательной весовой функции с основанием равным 2. Следует отметить, что число может быть записано в двоичном коде , а система счисления при этом может быть не двоичной, а с другим основанием. Пример: двоично-десятичное кодирование , в котором десятичные цифры записываются в двоичном виде, а система счисления - десятичная.

    История

    • Полный набор из 8 триграмм и 64 гексаграмм , аналог 3-битных и 6-битных цифр, был известен в древнем Китае в классических текстах книги Перемен . Порядок гексаграмм в книге Перемен , расположенных в соответствии со значениями соответствующих двоичных цифр (от 0 до 63), и метод их получения был разработан китайским учёным и философом Шао Юн в XI веке . Однако нет доказательств, свидетельствующих о том, что Шао Юн понимал правила двоичной арифметики, располагая двухсимвольные кортежи в лексикографическом порядке .
    • Наборы, представляющие собой комбинации двоичных цифр, использовались африканцами в традиционных гаданиях (таких как Ифа) наряду со средневековой геомантией .
    • В 1854 году английский математик Джордж Буль опубликовал знаковую работу, описывающую алгебраические системы применительно к логике , которая в настоящее время известна как Булева алгебра или алгебра логики . Его логическому исчислению было суждено сыграть важную роль в разработке современных цифровых электронных схем.
    • В 1937 году Клод Шеннон представил к защите кандидатскую диссертацию Символический анализ релейных и переключательных схем в , в которой булева алгебра и двоичная арифметика были использованы применительно к электронным реле и переключателям. На диссертации Шеннона по существу основана вся современная цифровая техника .
    • В ноябре 1937 года Джордж Штибиц , впоследствии работавший в Bell Labs , создал на базе реле компьютер «Model K» (от англ. «K itchen», кухня, где производилась сборка), который выполнял двоичное сложение. В конце 1938 года Bell Labs развернула исследовательскую программу во главе со Штибицом. Созданный под его руководством компьютер, завершённый 8 января 1940 года, умел выполнять операции с комплексными числами . Во время демонстрации на конференции American Mathematical Society в Дартмутском колледже 11 сентября 1940 года Штибиц продемонстрировал возможность посылки команд удалённому калькулятору комплексных чисел по телефонной линии с использованием телетайпа . Это была первая попытка использования удалённой вычислительной машины посредством телефонной линии. Среди участников конференции, бывших свидетелями демонстрации, были Джон фон Нейман , Джон Мокли и Норберт Винер , впоследствии писавшие об этом в своих мемуарах.
    • На фронтоне здания (бывшего Вычислительного Центра СО АН СССР) в Новосибирском Академгородке присутствует двоичное число 1000110, равное 70 10 , что символизирует дату постройки здания (

    Термин «бинарный» по смыслу – состоящий из двух частей, компонентов. Таким образом бинарные коды это коды которые состоят только из двух символьных состояний например черный или белый, светлый или темный, проводник или изолятор. Бинарный код в цифровой технике это способ представления данных (чисел, слов и других) в виде комбинации двух знаков, которые можно обозначить как 0 и 1. Знаки или единицы БК называют битами. Одним из обоснований применения БК является простота и надежность накопления информации в каком-либо носителе в виде комбинации всего двух его физических состояний, например в виде изменения или постоянства светового потока при считывании с оптического кодового диска.
    Существуют различные возможности кодирования информации.

    Двоичный код

    В цифровой технике способ представления данных (чисел, слов и других) в виде комбинации двух знаков, которые можно обозначить как 0 и 1. Знаки или единицы ДК называют битами.

    Одним из обоснований применения ДК является простота и надежность накопления информации в каком-либо носителе в виде комбинации всего двух его физических состояний, например в виде изменения или постоянства магнитного потока в данной ячейке носителя магнитной записи.

    Наибольшее число, которое может быть выражено двоичным кодом, зависит от количества используемых разрядов, т.е. от количества битов в комбинации, выражающей число. Например, для выражения числовых значений от 0 до 7 достаточно иметь 3-разрядный или 3-битовый код:

    числовое значение двоичный код
    0 000
    1 001
    2 010
    3 011
    4 100
    5 101
    6 110
    7 111

    Отсюда видно, что для числа больше 7 при 3-разрядном коде уже нет кодовых комбинаций из 0 и 1.

    Переходя от чисел к физическим величинам, сформулируем вышеприведенное утверждение в более общем виде: наибольшее количество значений m какой-либо величины (температуры, напряжения, тока и др.), которое может быть выражено двоичным кодом, зависит от числа используемых разрядов n как m=2n. Если n=3, как в рассмотренном примере, то получим 8 значений, включая ведущий 0.
    Двоичный код является многошаговым кодом. Это означает, что при переходе с одного положения (значения) в другое могут изменятся несколько бит одновременно. Например число 3 в двоичном коде = 011. Число же 4 в двоичном коде = 100. Соответственно при переходе от 3 к 4 меняют свое состояние на противоположное все 3 бита одновременно. Считывание такого кода с кодового диска привело бы к тому, что из-за неизбежных отклонений (толеранцев) при производстве кодового диска изменение информации от каждой из дорожек в отдельности никогда не произойдет одновременно. Это в свою очередь привело бы к тому, что при переходе от одного числа к другому кратковременно будет выдана неверная информация. Так при вышеупомянутом переходе от числа 3 к числу 4 очень вероятна кратковременная выдача числа 7 когда, например, старший бит во время перехода поменял свое значение немного раньше чем остальные. Чтобы избежать этого, применяется так называемый одношаговый код, например так называемый Грей-код.

    Код Грея

    Грей-код является так называемым одношаговым кодом, т.е. при переходе от одного числа к другому всегда меняется лишь какой-то один из всех бит информации. Погрешность при считывании информации с механического кодового диска при переходе от одного числа к другому приведет лишь к тому, что переход от одного положения к другом будет лишь несколько смещен по времени, однако выдача совершенно неверного значения углового положения при переходе от одного положения к другому полностью исключается.
    Преимуществом Грей-кода является также его способность зеркального отображения информации. Так инвертируя старший бит можно простым образом менять направление счета и таким образом подбирать к фактическому (физическому) направлению вращения оси. Изменение направления счета таким образом может легко изменяться управляя так называемым входом ” Complement “. Выдаваемое значение может таким образом быть возврастающим или спадающим при одном и том же физическом направлении вращения оси.
    Поскольку информация выраженая в Грей-коде имеет чисто кодированный характер не несущей реальной числовой информации должен он перед дальнейшей обработкой сперва преобразован в стандартный бинарный код. Осуществляется это при помощи преобразователя кода (декодера Грей-Бинар) который к счастью легко реализируется с помощью цепи из логических элементов «исключающее или» (XOR) как програмным так и аппаратным способом.

    Соответствие десятичных чисел в диапазоне от 0 до 15 двоичному коду и коду Грея

    Двоичное кодирование Кодирование по методу Грея
    Десятичный код
    Двоичное значение Шестнадц. значение Десятичный код Двоичное значение Шестнадц. значение
    0 0000 0h 0 0000 0h
    1 0001 1h 1 0001 1h
    2 0010 2h 3 0011 3h
    3 0011 3h 2 0010 2h
    4 0100 4h 6 0110 6h
    5 0101 5h 7 0111 7h
    6 0110 6h 5 0101 5h
    7 0111 7h 4 0100 4h
    8 1000 8h 12 1100 Ch
    9 1001 9h 13 1101 Dh
    10 1010 Ah 15 1111 Fh
    11 1011 Bh 14 1110 Eh
    12 1100 Ch 10 1010 Ah
    13 1101 Dh 11 1011 Bh
    14 1110 Eh 9 1001 9h
    15 1111 Fh 8 1000 8h

    Преобразование кода Грея в привычный бинарный код можно осуществить используя простую схему с инверторами и логическими элементами “исключающее или” как показано ниже:

    Код Gray-Excess

    Обычный одношаговый Грей-код подходит для разрешений, которые могут быть представлены в виде числа возведенного в степень 2. В случаях где надо реализовать другие разрешения из обычного Грей-кода вырезается и используется средний его участок. Таким образом сохраняется «одношаговость» кода. Однако числовой диапазон начинается не с нуля, а смещяется на определенное значение. При обработке информации от генерируемого сигнала отнимается половина разницы между первоначальным и редуцированным разрешением. Такие разрешения как например 360? для выражения угла часто реализируются этим методом. Так 9-ти битный Грей-код равный 512 шагов, урезанный с обеих сторон на 76 шагов будет равен 360°.

    Binary Converter/Encoder

    Tool to make binary conversions. Binary code is a numeric system using base 2 used in informatics, symbols used in binary notation are generally zero and one (0 and 1).

    Answers to Questions

    How to convert a number in binary?

    To convert a number to binary (with zeroes and ones) consists in a from base 10 to base 2 (natural binary code )

    Example: 5 (base 10) = 1*2^2+0*2^1+1*2^0 = 101 (base 2)

    The method consists in making successive divisions by 2 and noting the remainder (0 or 1 ) in the reverse order.

    Example: 6/2 = 3 remains 0, then 3/2 = 1 remains 1, then 1/2 = 0 remains 1. The successive remainders are 0,1,1 so 6 is written 110 in binary .

    How to convert a text in binary?

    Associate with each letter of the alphabet a number, for example by using the code or the . This will replace each letter by a number that can then be converted to binary (see above).

    Example: AZ is 65,90 () so 1000001,1011010 in binary

    Similarly for binary to text translation, convert the binary to a number and then associate that number with a letter in the desired code.

    How to translate binary

    The binary does not directly translate, any number encoded in binary remains a number. On the other hand, it is common in computer science to use binary to store text, for example by using the table, which associates a number with a letter. An translator is available on dCode.

    What is a bit?

    A bit (contraction of binary digit) is a symbol in the binary notation: 0 or 1.

    What is 1"s complement?

    In informatics, one"s complement is writing a number negatively inversing 0 and 1.

    Example: 0111 becomes 1000, so 7 becomes -7

    What is 2"s complement?

    In informatics, one"s complement is writing a number negatively inversing 0 and 1 and adding 1.

    Example: 0111 becomes 1001

    Ask a new question

    Source code

    dCode retains ownership of the source code of the script Binary Code online. Except explicit open source licence (indicated Creative Commons / free), any algorithm, applet, snippet, software (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt, encrypt, decipher, cipher, decode, code, translate) written in any informatic langauge (PHP, Java, C#, Python, Javascript, Matlab, etc.) which dCode owns rights will not be released for free. To download the online Binary Code script for offline use on PC, iPhone or Android, ask for price quote on

    Здесь вы можете преобразовать двоичные числа в символы ASCII, которые часто достаточно просты в вашей голове.

    1 - Преобразуйте каждые 4 двоичных цифры в одну шестую цифру.

    Здесь приведена диаграмма преобразования в двоичном формате:

    0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9 1010 = a (the hex number a, not the letter a) 1011 = b 1100 = c 1101 = d 1110 = e 1111 = f

    (Шестнадцатеричные числа от a до f являются десятичными числами с 10 по 15. То, что шестнадцатеричное, или "основание 16", - вместо того, чтобы каждая цифра способна представлять 10 разных чисел , например десятичные или "base 10", каждая цифра вместо этого может представлять 16 разных чисел .)

    Как только вы узнаете эту диаграмму, преобразование любой строки двоичных цифр в строку шестнадцатеричных цифр прост.

    Например,

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

    Достаточно просто, не так ли? Простое преобразование двоичного числа любой длины в шестнадцатеричный эквивалент.

    (Это работает, потому что шестнадцатеричная база 16, а двоичная - база 2, а 16 - 4-я степень 2, поэтому для получения 1 шестнадцатеричной цифры требуется 4 двоичных разряда. 10, с другой стороны, не является степенью 2, поэтому мы не можем преобразовать двоичный код в десятичный почти так же легко.)

    2 - Разделите строку шестнадцатеричных цифр на пары.

    При преобразовании числа в ASCII каждые две шестнадцатеричные цифры являются символами. Таким образом, разбить шестнадцатеричную строку на две цифры.

    Вы разделили бы шестнадцатеричное число, например 7340298b392, на 6 пар, например:

    7340298b392 = 07 34 02 98 b3 92

    Это 6 пар шестнадцатеричных цифр, поэтому их будет 6 букв. (За исключением того, что я сразу понял, что 98, b3 и 92 не являются буквами. Я объясню, почему через минуту.)

    3 - Преобразуйте каждую пару шестнадцатеричных цифр в десятичное число.

    Сделайте это, умножив (десятичный эквивалент) левой цифры на 16 и добавив второй.

    Например, b3 hex = 11 * 16 + 3, что равно 110 + 66 + 3, что составляет 179. (b hex равно 11 десятичным.)

    4 - Преобразуйте десятичные числа в символы ASCII.

    Теперь, чтобы получить буквы ASCII для десятичных чисел, просто имейте в виду, что в ASCII 65 - это верхний регистр "A", а 97 - строчный "a".

    Итак, какая буква 68?

    68 - 4-я буква алфавита в верхнем регистре, справа?
    65 = A, 66 = B, 67 = C, 68 = D.

    Итак, 68 - это D.

    Вы берете десятичное число, вычитаете 64 для прописных букв, если число меньше 97 или 96 для строчных букв, если число равно 97 или больше, а число букв алфавита, связанного с этим набором 2 шестнадцатеричных цифры.

    В качестве альтернативы, если вы не боитесь немного простой арифметики hex, вы можете пропустить шаг 3 и просто перейти от hex к ASCII, вспомнив, например, что

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

    Итак, вычитаем 40 hex для прописных букв или 60 hex для строчных букв и преобразуем то, что осталось до десятичного, чтобы получить номер буквы алфавита.

    Например

    01101100 = 6c, 6c - 60 = c = 12 decimal = "l" 01010010 = 52, 52 - 40 = 12 hex = 18 decimal = "R"

    (При этом полезно помнить, что "m" (или "M") является 13 буквой алфавита. Таким образом, вы можете рассчитывать вверх или вниз с 13, чтобы найти письмо, которое ближе к середине, чем к либо конец.)

    Я видел это на рубашке один раз и смог прочитать это в моей голове:

    01000100 01000001 01000100

    Я сделал это вот так:

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

    Футболка сказала "DAD", которая, как мне показалось, была классной, так как она покупалась беременной женщиной. Ее муж должен быть похож на меня.

    Как я сразу понял, что 92, b3 и 98 не были буквами?

    Поскольку код ASCII для нижнего регистра "z" равен 96 + 26 = 122, который в шестнадцатеричном виде равен 7a. 7a - наибольшее шестнадцатеричное число для буквы. Все, что больше 7a, не является буквой.

    Итак, как вы можете сделать это как человек.

    Как это делают компьютерные программы?

    Для каждого набора из 8 двоичных цифр преобразуйте его в число и найдите его в таблице ASCII.

    (Этот довольно очевидный и прямой путь. Типичный программист мог бы подумать о 10 или 15 других способах в течение нескольких минут. Детали зависят от среды языкового интерфейса компьютера.)

    Похожие статьи