два разряда двоичного кода содержат

Двоичный код.

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

Видя что-то впервые, мы зачастую задаемся логичным вопросом о том, как это работает. Любая новая информация воспринимается нами, как что-то сложное или созданное исключительно для разглядываний издали, однако для людей, желающих узнать подробнее о двоичном коде, открывается незамысловатая истина – бинарный код вовсе не сложный для понимания, как нам кажется. К примеру, английская буква T в двоичной системе приобретет такой вид – 01010100, E – 01000101 и буква X – 01011000. Исходя из этого, понимаем, что английское слово TEXT в виде двоичного кода будет выглядеть таким вот образом: 01010100 01000101 01011000 01010100. Компьютер понимает именно такое изложение символов для данного слова, ну а мы предпочитаем видеть его в изложении букв алфавита.

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

Перевод натурального числа десятичной системы счисления в двоичную систему.

Чтобы перевести числа из десятичной системы счисления в двоичную пользуются «алгоритмом замещения», состоящим из такой последовательности действий:

1. Выбираем нужное число и делим его на 2. Если результат деления получился с остатком, то число двоичного кода будет 1, если остатка нет – 0.

2. Откидывая остаток, если он есть, снова делим число, полученное в результате первого деления, на 2. Устанавливаем число двоичной системы в зависимости от наличия остатка.

3. Продолжаем делить, вычисляя число двоичной системы из остатка, до тех пор, пока не дойдем до числа, которое делить нельзя – 0.

4. В этот момент считается, что двоичный код готов.

Для примера переведем в двоичную систему число 7:

1. 7 : 2 = 3.5. Поскольку остаток есть, записываем первым числом двоичного кода 1.

2. 3 : 2 = 1.5. Повторяем процедуру с выбором числа кода между 1 и 0 в зависимости от остатка.

3. 1 : 2 = 0.5. Снова выбираем 1 по тому же принципу.

4. В результате получаем, переведенный из десятичной системы счисления в двоичную, код – 111.

Таким образом можно переводить бесконечное множество чисел. Теперь попробуем сделать наоборот – перевести число из двоичной в десятичную.

Перевод числа двоичной системы в десятичную.

Для этого нам нужно пронумеровать наше двоичное число 111 с конца, начиная нулем. Для 111 это 1^2 1^1 1^0. Исходя из этого, номер для числа послужит его степенем. Далее выполняем действия по формуле: (x * 2^y) + (x * 2^y) + (x * 2^y), где x – порядковое число двоичного кода, а y – степень этого числа. Подставляем наше двоичное число под эту формулу и считаем результат. Получаем: (1 * 2^2) + (1 * 2^1) + (1 * 2^0) = 4 + 2 + 1 = 7.

Немного из истории двоичной системы счисления.

Источник

Двоичный код

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Двоичный код — это способ представления данных в одном разряде в виде комбинации двух знаков, обычно обозначаемых цифрами 0 и 1. Разряд в этом случае называется двоичным разрядом.
В случае обозначения цифрами «0» и «1», возможные состояния двоичного разряда наделяются качественным соотношением «1» > «0» и количественными значениями чисел «0» и «1».

Двоичный код может быть непозиционным и позиционным.

Из комбинаторики известно, что, в случае непозиционного кода, количество комбинаций (кодов) n-разрядного кода является числом сочетаний с повторениями, равно биномиальному коэффициенту:

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат, [возможных состояний (кодов)], где:

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат— количество элементов в данном множестве различных элементов (количество возможных состояний, цифр, кодов в разряде),
два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат— количество элементов в наборе (количество разрядов).
В двоичной системе кодирования (n=2) количество возможных состояний (кодов) равно :

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат, [возможных состояний (кодов)], т.е.

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат, [возможных состояний (кодов)], где

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат— количество двоичных разрядов (дворов, битов).
Например, в одном 8-ми битном байте (k=8) количество возможных состояний (кодов) равно:

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат, [возможных состояний (кодов)].

В случае позиционного кода, число комбинаций (кодов) n-разрядного двоичного кода равно числу размещений с повторениями:

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат, где

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат— число разрядов двоичного кода.

Используя два двоичных разряда можно закодировать четыре различные комбинации: 00 01 10 11, три двоичных разряда — восемь: 000 001 010 011 100 101 110 111, и так далее.
При увеличении разрядности позиционного двоичного кода на 1, количество различных комбинаций в позиционном двоичном коде удваивается.

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

В системах счисления n-разрядный двоичный код, (n-1)-разрядный двоичный код, (n-2)-разрядный двоичный код и т. д. могут отображать одно и то же число. Например, 0001, 001, 01, 1 — одно и то же число — «1» в двоичных кодах с разным числом разрядов — n.

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Содержание

Таблица двоичных кодов

00000100012001030011401005010160110701118100091001A1010B1011C1100D1101E1110F1111

Пример «доисторического» использования кодов

Инки имели свою счётную систему кипу, которая физически представляла собой верёвочные сплетения и узелки. Генри Эртан обнаружил, что в узелках заложен некий код, более всего похожий на двоичную систему счисления. [1]

Примечания

См. также

Полезное

Смотреть что такое «Двоичный код» в других словарях:

двоичный код — Код, основание которого равно двум. [Сборник рекомендуемых терминов. Выпуск 94. Теория передачи информации. Академия наук СССР. Комитет технической терминологии. 1979 г.] Тематики теория передачи информации EN binary code … Справочник технического переводчика

двоичный код — dvejetainis kodas statusas T sritis automatika atitikmenys: angl. binary code vok. binärer Kode, m; Binärkode, m; dualer Kode, m; Dualkode, m rus. двоичный код, m pranc. code binaire, m … Automatikos terminų žodynas

двоичный код — Код, основание которого равно двум … Политехнический терминологический толковый словарь

двоичный код с исправлением ошибок — Двоичный код, избыточность которого обеспечивает автоматическое обнаружение и исправление ошибок некоторых типов в передаваемых данных. [Домарев В.В. Безопасность информационных технологий. Системный подход.] Тематики защита информации EN вinаry… … Справочник технического переводчика

двоичный код с обнаружением ошибок — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN binary error detecting code … Справочник технического переводчика

Двоичный код Голея — У этого термина существуют и другие значения, см. Код Голея. Двоичный код Голея один из двух тесно связанных друг с другом исправляющих ошибки линейных кодов: совершенный двоичный код Голея (англ. perfect binary Golay code) … … Википедия

арифметический двоичный код — обычный двоичный код — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы обычный двоичный код EN natural binary code … Справочник технического переводчика

натуральный двоичный код ИКМ — Код, при котором кодовые слова, соответствующие квантованным отсчетам сигнала электросвязи при ИКМ, расположенным в порядке возрастания амплитуд, представляют собой неотрицательные целые двоичные числа, взятые в том же порядке. [ГОСТ 22670 77]… … Справочник технического переводчика

сбалансированный двоичный код — код без преобладания — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы код без преобладания EN zero disparity code … Справочник технического переводчика

симметричный двоичный код ИКМ — Код, при котором полярность квантованного отсчета сигнала электросвязи при ИКМ выражается одним символом цифрового сигнала электросвязи, а остальные символы выражают двоичное число, представляющее абсолютную величину отсчета этого сигнала.… … Справочник технического переводчика

Источник

Что такое двоичный код

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Задача сегодняшней публикации – разобраться в том, что такое двоичный код, для каких целей и где используется двоичный код и зачем вообще он нужен.

Двоичный код – это система обозначений из двух элементов, различные комбинации которых служат для представления (кодировки) информации.

В качестве элементов системы наиболее часто выступают цифры «0» и «1». Но в действительности обозначения могут быть произвольными, исходя из характера сведений, которые требуется кодировать.

Главное – чтобы соответствующие элементы обозначали взаимоисключающие либо противоположные по значению данные.

Великолепным примером двоичного кода могут служить любые пары антонимов, к примеру, «да/нет», «белое/черное», «включено/выключено» и т.д.

Для описания двоичного кода используется понятие разряда (более точно – двоичного разряда), объединяющего целочисленную группу элементов двоичного кода.

Например, в системе, использующей базовые элементы 0 и 1, два двоичных разряда могут быть представлены следующими четырьмя комбинациями: 00, 01, 10 и 11.

Три двоичных разряда могут иметь следующий вид: 000, 001, 010, 011, 100, 101, 110 и 111.

Число двоичных разрядов может быть сколь угодно большим в зависимости от характера решаемых задач и объема кодируемой информации.

Форма представления данных с помощью двоичных разрядов характерна для позиционного двоичного кода, лежащего в основе двоичной системы счисления, применяемой сплошь и рядом во всех типах вычислительной техники.

Увеличение разрядности на единицу приведет к удвоению числа комбинаций в позиционном двоичном коде.

При двух символах (смотри примеры выше) мы имеем 4 комбинации, при трех – 8 комбинаций, при четырех – 16 комбинаций, при n символах – 2 n комбинаций.

С помощью двух символов можно закодировать практически любую информацию. Доказательством тому служат современные компьютеры, работа которых невозможна без такой кодировки.

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

Например, в двоичной системе счисления единицу можно представить по-разному: 1, 01, 001, 0001 и т.д.

Нумерация двоичных разрядов осуществляется справа налево.

Если взять двоичный код 01011, то первый разряд будет иметь значение 1, второй разряд – 1, третий разряд – 0, четвертый – 1 и пятый разряд – 0:

Примеры двоичного кода

С помощью трех двоичных разрядов можно обозначить восемь десятичных чисел от 0 до 7:

0 = 000
1 = 001
2 = 010
3 = 011
4 = 100
5 = 101
6 = 110
7 = 111

Эта таблица отражает перевод десятичных чисел в двоичный код.

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

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

111 → 1 * 2 2 + 1 * 2 1 + 1 * 2 0 = 4 + 2 + 1 = 7

101 → 1 * 2 2 + 0 * 2 1 + 1 * 2 0 = 4 + 0 + 1 = 5

Зачем нужен двоичный код

Основное назначение двоичного кода – шифрование и кодирование информации.

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

Допустим, нам необходимо закодировать фразу «ХОЛОДНОЕ ЛЕТО».

Установим произвольные соответствия букв двоичному коду: Х – 000, О – 001, Л – 010, Д – 011, Н – 100, Е – 101, Т – 111.

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Фото 2. Двоичный код лежит в основе двоичной системы счисления

Тогда закодированная фраза примет следующий вид: 000001010001011100001101010101111001 (36 символов).

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

В данном случае мы имеем дело с однозначно декодируемым кодом (то есть код может быть расшифрован одним единственным способом).

Для сокращения длины кода может применяться неравномерный двоичный код.

Тогда кодировщик сознательно отступает от принципа разрядности, присваивая буквам произвольное число разрядов.

Например, если Х будет иметь обозначение 01, О – 00, Л – 100, Д – 101, Н – 110, Е – 111, Т – 1111, то фразе «ХОЛОДНОЕ ЛЕТО» будет соответствовать строка 01001000010111000111100111111100 (32 символа).

В данной фразе будет однозначно декодироваться фрагмент «ХОЛОДНО», после чего дешифровщику придется ломать голову над выбором приемлемой трактовки кода: «Е ЛЕТО», «Е ЛЕЕЛ», «Е ЛТЕО», «ТОЕЕЛ» и т.д.

Данный пример указывает на проблемы с использованием непродуманных комбинаций двоичного кода.

При правильном же подборе кодов неравномерный двоичный код позволяет не только сократить объем передаваемого сообщения, но и начать его дешифровку после поступления уже первых нескольких символов, не дожидаясь пока сообщение будет получено в полном объеме.

Виды двоичных кодов

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

К примеру, для шестнадцатиразрядного кода допустимыми будут значения чисел от 0 до 65535.

На практике приходится решать задачи посложнее.

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Фото 3. С помощью двоичного кода можно закодировать все что угодно

Машине или компьютеру достаточно трудно объяснить разницу между положительными и отрицательными числами. Отдельного представления требуют и числа с плавающей запятой, дробные или трансцендентные числа.

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

В частности, для определения знака числа используется старший разряд в слове.

Если слово начинается с символа «0», значит число положительное (имеет знак «+»), если с символа «1», значит оно – отрицательное (имеет знак «-»).

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

Как следствие, программный код увеличивается в объеме, а скорость его работы замедляется.

Видео о двоичном коде:

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержатШироколиственные леса Восточной Азии

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержатФрезы и фрезеры: их виды и назначение

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержатСеверная Америка

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат«Профиль» континента Европа

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержатПочему у людей бывает отрыжка?

Источник

Двоичная система счисления

Двоичный код — понятие, которое кажется сложным большинству людей. Однако на самом деле это одна из самых простых шифровальных систем в мире. Более того, мы сталкиваемся с ней ежедневно в обычной жизни.

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

Двоичная система счисления — что это такое?

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

Двоичный код чаще всего представлен нулем и единицей. Но это не обязательно — двоичного кода можно брать и любые другие обозначения, главное, чтобы эти символы были противоположными или взаимоисключающими по сути.

Что такое разрядность двоичного кода?

Одним из важных свойств двоичной системы является понятие разрядности — этим словом называют количество позиций, используемых в конкретном коде для составления комбинаций.

Смысл разрядного двоичного кода заключается в том, что одно и то же число в нем можно обозначить разными комбинациями символов — например, обозначения 0001, 001, 01 и 1 будут подразумевать одно и то же число «1». Читают разряды не так, как текст, а справа налево. Как правило, на практике код бывает 4, 8, 16, 32 и 64 разрядным — в зависимости от объема информации и специфики решаемой задачи.

У неопытного пользователя может возникнуть вопрос — какой смысл в двоичной системе, и не проще ли обходиться без нее? Однако когда речь идет о сложной вычислительной технике, то оперировать огромным множеством простейших элементов для нее удобнее, нежели обращаться с малочисленными, но сложными символами.

Источник

Виды двоичных кодов

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

Для представления числовой информации могут использоваться знаковые и беззнаковые коды. Для определЈнности примем длину слова процессора равной восьми битам.

Беззнаковые двоичные коды.

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

При этом минимально возможное число, которое можно записать таким двоичным кодом, равно 0. Максимально возможное число, которое можно записать таким двоичным кодом, можно определить как:

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

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

Знаковые обратные двоичные коды.

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

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Тем не менее при работе с обратными кодами требуется специальный алгоритм распознавания знака, вычисления абсолютного значения числа, восстановления знака результата числа. Кроме того, в прямом и обратном коде числа для запоминания числа 0 используется два кода, тогда как известно, что число 0 положительное и отрицательным не может быть никогда.

Знаковые дополнительные двоичные коды.

От перечисленных недостатков свободны дополнительные коды. Эти коды позволяют непосредственно суммировать положительные и отрицательные числа не анализируя знаковый разряд и при этом получать правильный результат. Все это становится возможным благодаря тому, что дополнительные числа являются естественным кольцом чисел, а не исскуственным образованием как прямые и обратные коды. Кроме того немаловажным является то, что вычислять дополнение в двоичном коде чрезвычайно легко. Для этого достаточно к обратному коду добавить 1:

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

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

Использование для представления знака числа двух бит предоставляет интересную возможность контролировать переполнения при выполнении арифметических операций. Рассмотрим несколько примеров.

1) Просуммируем числа 12 и 5

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

В этом примере видно, что в результате суммирования получается правильный результат. Это можно проконтролировать по флагу переноса C, который совпадает со знаком результата (действует эффект распространения знака).

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

В этом примере флаг переноса C тоже совпадает со знаком результата, то есть переполнения не произошло и в этом случае

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

В этом примере при суммировании положительного и отрицательного числа автоматически получается правильный знак результата. В данном случае знак результата отрицательный. Флаг переноса совпадает со знаком результата, поэтому переполнения не было (мы можем убедиться в этом непосредственными вычислениями на бумаге или на калькуляторе).

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

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

5)Просуммируем числа 100 и 31

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

В этом примере видно, что в результате суммирования произошло переполнение восьмибитовой переменной, т.к. в результате операции над положительными числами получился отрицательный результат. Однако если рассмотреть флаг переноса, то он не совпадает со знаком результата. Эта ситуации является признаком переполнения результата и легко обнаруживается при помощи операции «исключающее ИЛИ» над старшим битом результата и флагом переноса C. Большинство процессоров осуществляют эту операцию аппаратно и помещают результат во флаг переполнения OV.

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

В этом примере результате операции над отрицательными числами в результате суммирования произошло переполнение восьмибитовой переменной, т.к. получился положительный результат. И в этом случае если рассмотреть флаг переноса C, то он не совпадает со знаком результата. Отличие от предыдущего случая только в комбинации этих бит. В примере 5 говорят о переполнении результата (комбинация 01), а в примере 6 об антипереполнении результата (комбинация 10).

Представление дробных чисел в двоичном коде с фиксированной запятой.

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

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Или договоримся, что она находится точно посередине переменной, и тогда мы сможем записывать смешанные числа:

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Остальные случаи рассматривать не будем. Они строятся точно так же как и для целых чисел.

Представление чисел в двоичном коде с плавающей запятой.

Часто приходится обрабатывать очень большие числа (например, расстояние между звЈздами) или наоборот очень маленькие числа (например, размеры атомов или электронов). При таких вычислениях пришлось бы использовать числа с очень большой разрядностью. В то же время нам не нужно знать расстояние между звЈздами с точностью до миллиметра. Для вычислений с такими величинами числа с фиксированной запятой неэффективны.

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

Для записи двоичных чисел тоже используется такая форма записи. Эта форма записи называется запись числа с плавающей точкой. Напомним, что мантисса не может быть больше единицы и после запятой в мантиссе не может записываться ноль.

А теперь рассмотрим промышленные стандарты, используемые для представления чисел в компьютерах. Существует стандарт IEEE 754 для представления чисел с одинарной точностью (float) и с двойной точностью (double). Для записи числа в формате с плавающей запятой одинарной точности требуется тридцатидвухбитовое слово. Для записи чисел с двойной точностью требуется шестидесятичетырЈхбитовое слово. Чаще всего числа хранятся в нескольких соседних ячейках памяти процессора. Форматы числа в формате с плавающей запятой одинарной точности и числа в формате с плавающей запятой удвоенной точности приведены на рисунке

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Рассмотрим несколько примеров:

1) Определить число с плавающей запятой, лежащее в четырЈх соседних байтах:

11000001 01001000 00000000 00000000

— Знаковый бит, равный 1 показывает, что число отрицательное.

— Экспонента 10000010 в десятичном виде соответствует числу 130. Вычтя число 127 из 130, получим число 3.

— Теперь запишем мантиссу: 1,100 1000 0000 0000 0000 0000

— И, наконец, определим десятичное число: 1100,1b = 12,5d

2) Определить число с плавающей запятой, лежащее в четырЈх соседних байтах:

11000011 00110100 00000000 00000000

— Знаковый бит, равный 1 показывает, что число отрицательное.

— Экспонента 10000110 в десятичном виде соответствует числу 134. Вычтя число 127 из 134, получим число 7.

— Теперь запишем мантиссу: 1,011 0100 0000 0000 0000 0000

— И, наконец, определим десятичное число: 10110100b=180d

Для того чтобы записать ноль, достаточно записать в смещенный порядок число 00000000b. Значение мантиссы при этом не имеет значения. Число, в котором все байты равны 0, тоже попадает в этот диапазон значений.

Все остальные комбинации битов (в том числе и все единицы) воспринимаются как не числа и отображаются на экран: NaN.

Запись десятичных чисел.

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

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Остальные комбинации двоичного кода в тетраде являются запрещенными. Запишем пример двоично-десятичного кода:

1258 = 0001 0010 0101 1000

589 = 0000 0101 1000 1001

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

Суммирование двоично-десятичных чисел.

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

два разряда двоичного кода содержат. Смотреть фото два разряда двоичного кода содержат. Смотреть картинку два разряда двоичного кода содержат. Картинка про два разряда двоичного кода содержат. Фото два разряда двоичного кода содержат

Запись текстов в памяти процессора.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *