Какие формы записи применяются в компьютерной технике для кодирования целых чисел со знаком кратко

Обновлено: 05.07.2024

1. Образовательные:

  • повторить основные понятия по теме “Системы счисления”;
  • закрепить правила перевода чисел из одной системы счисления в другую;
  • познакомить учащихся с форматами представления чисел в компьютере;
  • научить учащихся представлять целые числа в формате с фиксированной точкой и выполнять арифметические операции (сложение и вычитание) с двоичными кодами.

2. Развивающие: развитие познавательного интереса к предмету, творческую активность учащихся.

3. Воспитательные: воспитывать у школьников информационную культуру, формировать навык самостоятельной работы.

Тип урока: обобщение знаний и изучение нового материала с применением информационных технологий.

Форма урока: комбинированный.

  1. Организационный момент.
  2. Повторение материала.
  3. Проверка домашнего задания.
  4. Объяснение нового материала.
  5. Самостоятельная работа.
  6. Подведение итогов урока. Выставление оценок.
  7. Домашнее задание.

1. Организационный момент.

Объявление темы и целей урока. (Слайд 2).

2. Повторение материала.

Устный опрос. (Слайд 3)

Вопрос 1. В какой наименьшей системе счисления могут быть записаны числа: 203; 461; 112314; 1101; 9А7?

Подготовка к ЕГЭ

Сколько единиц в двоичной записи чисел:

3. Проверка домашнего задания. (Слайды 4–6)

Задание 1. Перевести число 3045 в десятичную систему счисления.
Задание 2. Перевести число 13110 в семеричную систему счисления.
Задание 3. Выполнить сложение двоичных чисел 1011012 + 11011012.
Задание 4. Перевести число из:

  1. двоичной системы счисления в восьмеричную и шестнадцатеричную: 1111001011101012;
  2. восьмеричной системы счисления в шестнадцатеричную систему счисления: 31042568.

Задание 5. (Подготовка к ЕГЭ) Какое двоичное число лежит между числами ED16 и 3578?

4. Объяснение и закрепление нового материала. (Слайды 7–19)

Для представления чисел в памяти компьютера используются два формата: формат с фиксированной точкой и формат с плавающей точкой. В формате с фиксированной точкой представляются только целые числа (со знаком и без знака), а в формате с плавающей точкой – вещественные числа (целые и дробные).

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

Целые без знака (положительные) размер ячейки диапазон значений чисел
1 байт от 0 до 2 8 – 1
2 байта от 0 до 2 16 – 1
Целые со знаком 1 байт от -2 7 до 2 7 – 1
2 байта от -2 15 до 2 15 -1
4 байта от -2 31 до 2 31 -1

(При переводе чисел из одной системы счисления в другую для проверки вычислений учащиеся используют приложение Калькулятор Плюс.)

Чтобы записать двоичный код целого числа, необходимо:

  1. Перевести число в двоичную систему счисления;
  2. Полученный результат дополнить слева незначащими нулями в пределах выбранного формата (прямой код числа).

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

В компьютерной технике применяют три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код.

Алгоритм перевода целых отрицательных чисел:

  1. Записать прямой код модуля числа.
  2. Записать обратный код числа заменой во всех разрядах 0 на 1 и 1 на 0.
  3. Записать дополнительный код, прибавив к обратному коду 1.

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

Задание 2. Записать двоичный код числа – 35 в формате 1 байта.

Задание 3. Найти сумму двоичных кодов чисел 13 и 46 и выполнить проверку вычисления в десятичной системе счисления.

Задание 4. Найти разность двоичных кодов чисел 46 и 13 и выполнить проверку вычислений в десятичной системе счисления.

Представление вещественных чисел (формат с плавающей точкой).

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

X= m*p n , где
m – мантисса числа,
р – основание системы счисления,
n – порядок

Мантисса в целой части нормализованного числа содержит одну цифру, отличную от нуля!

Алгоритм перевода вещественных чисел с плавающей точкой:

Старший разряд отводится для знака числа. Любое положительное число обозначается 0, отрицательное (–1). Количество вещественных чисел, точно представимых в памяти компьютера, вычисляется по формуле:

N = 2 t ∙ (U–L+1)+1, где t– количество двоичных разрядов мантиссы; U – максимальное значение математического порядка; L – минимальное значение порядка.

Задание 5. Дано число (-125). Сформировать код с плавающей точкой в формате 4 байта.

Задание 6. Определить, каким десятичным числам соответствуют следующие двоичные коды в однобайтном представлении: 11000101 (19710); 11011101 (22110).

Задание 7. Представить дополнительный код 11001001 в десятичное число.

Задание 8. Какой из двоичных кодов: 00111001, 00111111, 00111011, 00111101 является представлением десятичного числа 59 в формате с фиксированной точкой?

Задание 9. Закончите вычисления и заполните пропуски.

3710 + 4810 0 1 0 0 1 ?
прямой код числа 48
?

4810 – 3710 прямой код числа 37
?
?
?
?

5. Физминутка для глаз.

6. Самостоятельная работа.

1. (Подготовка к ЕГЭ) Чему равно х = 1678 – 5916?

2. Записать в однобайтовом формате прямой код числа 103?

3. Найти десятичное представление числа, записанного в дополнительном коде: 10100100.

4. Выполните вычитание чисел в формате 1 байт: 27 – 61.

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

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

В первом варианте один (старший) разряд машинном слове отводится для записи знака числа;

При этом условились кодировать знак "+" нулем, знак "–" - единицей.

Под запись самого числа, очевидно, остается 15 двоичных разрядов, что обеспечивает наибольшее значение числа Zmax = 2 15 - 1 = 3276710.

Такое представление чисел называется прямым кодом.

Однако его применение усложняет порядок обработки чисел;

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

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

Альтернативным вариантом является представление чисел со знаком в дополнительном коде.

Идея построения дополнительного кода заключается в следующем:

· на оси целых положительных чисел, помещающихся в машинное слово (0÷65535), сместим положение "0" на середину интервала;

положительные 0 отрицательные

0 32767,32768 65535

· числа, попадающие в первую половину (0÷32767) будем считать положительными, а числа из второй половины (32768÷65535) - отрицательными.

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

Например, число 100 0000 0000 00012 = 3276910 является кодом отрицательного числа,

А число 000 0000 0000 00012 = 110 - кодом положительного.

Принадлежность к интервалу кодов положительных или отрицательных чисел видна по состоянию старшего бита кодов:

· у положительных чисел его значение "0",

· у отрицательных - "1".

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

Дополнением (D) k-разрядного целого числа Z в системе счисления p называется величина

Данную формулу можно представить в ином виде:

Число p k - 1, состоит из k наибольших в данной системе счисления цифр (p - 1), например, 999910, FFFF16 или 11112.

Поэтому (p k - 1) - Z можно получить путем дополнения до p-1 каждой цифры числа Z и последующим прибавлением к последнему разряду 1.

Пример 1. Построить дополнение числа 27810. В данном случае p = 10, k = 3.

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

В рассмотренном примере:

В разряде тысяч 1 должна быть отброшена, поскольку она выходит за отведенную разрядную сетку.

Так как в двоичной системе счисления дополнением 1 является 0, а дополнением 0 является 1, построение D(Z2, k) сводится к инверсии данного числа, т.е. замена нулей единицами и единиц нулями, и прибавлением 1 к последнему разряду.

Другими словами, дополнение двоичного числа формируется в два этапа:

1. Строится инвертированное представление исходного числа;

2. К инвертированному представлению прибавляется 1 по правилам двоичной арифметики.

Дополнительный код (DK) двоичных целых чисел строится по следующим правилам:

для Z20 дополнительный код совпадает с самим числом (DK = Z2);

для Z2 0, DK: 0000 0000 0000 0011.

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

Пример 15. Найти значение (27 – 3)10 в двоичной кодировке.

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

Порядок проверок и анализа корректности операций сложения-вычитания

можно представить в виде таблицы:

· L – результат целочисленного деления Z (1) на Z (2) ;

· R – остаток от целочисленного деления Z(1) на Z (2) .

Эти величины связаны между собой соотношением:

из которого следует алгоритм нахождения значений L и R для заданных Z (1) и Z (2) ; его блок-схема для положительных Z (1) на Z (2) представлена на рисунке 1.


Рис.1. Алгоритм выполнения целочисленного деления

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

При этом уровень программной реализации может быть различным.

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

Если же в системе команд процессора эти микропрограммы отсутствуют, их приходится описывать в виде процедур в самих приложениях и, следовательно, они будут доступны только в этих приложениях.

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

В первом варианте один (старший) разряд машинном слове отводится для записи знака числа;

При этом условились кодировать знак "+" нулем, знак "–" - единицей.

Под запись самого числа, очевидно, остается 15 двоичных разрядов, что обеспечивает наибольшее значение числа Zmax = 2 15 - 1 = 3276710.

Такое представление чисел называется прямым кодом.

Однако его применение усложняет порядок обработки чисел;

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

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

Альтернативным вариантом является представление чисел со знаком в дополнительном коде.

Идея построения дополнительного кода заключается в следующем:

· на оси целых положительных чисел, помещающихся в машинное слово (0÷65535), сместим положение "0" на середину интервала;

положительные 0 отрицательные

0 32767,32768 65535

· числа, попадающие в первую половину (0÷32767) будем считать положительными, а числа из второй половины (32768÷65535) - отрицательными.

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

Например, число 100 0000 0000 00012 = 3276910 является кодом отрицательного числа,

А число 000 0000 0000 00012 = 110 - кодом положительного.

Принадлежность к интервалу кодов положительных или отрицательных чисел видна по состоянию старшего бита кодов:

· у положительных чисел его значение "0",

· у отрицательных - "1".

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

Дополнением (D) k-разрядного целого числа Z в системе счисления p называется величина

Данную формулу можно представить в ином виде:

Число p k - 1, состоит из k наибольших в данной системе счисления цифр (p - 1), например, 999910, FFFF16 или 11112.

Поэтому (p k - 1) - Z можно получить путем дополнения до p-1 каждой цифры числа Z и последующим прибавлением к последнему разряду 1.

Пример 1. Построить дополнение числа 27810. В данном случае p = 10, k = 3.

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

В рассмотренном примере:

В разряде тысяч 1 должна быть отброшена, поскольку она выходит за отведенную разрядную сетку.

Так как в двоичной системе счисления дополнением 1 является 0, а дополнением 0 является 1, построение D(Z2, k) сводится к инверсии данного числа, т.е. замена нулей единицами и единиц нулями, и прибавлением 1 к последнему разряду.

Другими словами, дополнение двоичного числа формируется в два этапа:

1. Строится инвертированное представление исходного числа;

2. К инвертированному представлению прибавляется 1 по правилам двоичной арифметики.

Дополнительный код (DK) двоичных целых чисел строится по следующим правилам:

для Z20 дополнительный код совпадает с самим числом (DK = Z2);

для Z2 0, DK: 0000 0000 0000 0011.

· L – результат целочисленного деления Z (1) на Z (2) ;

· R – остаток от целочисленного деления Z(1) на Z (2) .

Эти величины связаны между собой соотношением:

из которого следует алгоритм нахождения значений L и R для заданных Z (1) и Z (2) ; его блок-схема для положительных Z (1) на Z (2) представлена на рисунке 1.


Рис.1. Алгоритм выполнения целочисленного деления

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

При этом уровень программной реализации может быть различным.

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

Если же в системе команд процессора эти микропрограммы отсутствуют, их приходится описывать в виде процедур в самих приложениях и, следовательно, они будут доступны только в этих приложениях.

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

· целые положительные числа (целые числа без знака);

· целые числа со знаком;

· вещественные нормализованные числа.

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

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

Например, ячейка памяти объединяет 2 байта (16 двоичных разрядов) — такая комбинация связанных соседних ячеек, обрабатываемая совместно, называется машинным словом.

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

Назначение этого бита выяснится чуть позже.

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

Если количество разрядов k и основание системы счисления p=2, то (Z2)max = 2 k — 1 .

В частности, при k=16 (Z2)max = 2 16 — 1 = 111 1111 1111 11112 =6553510.

Таким образом, целого числа, например 65636 и более в компьютере просто не может существовать и, следовательно, появление в ходе вычислений чисел, превышающих (Z2)max, должно интерпретироваться как ошибка.

Минимальным целым числом в беззнаковом представлении является (Z2)min = 000 0000 0000 00002 = 010.

В языке программирования PASCAL целые числа без знака, для записи которых отводится 2 байта, определены как тип Word.

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

Выход за границу 65535 возможен только путем увеличения количества разрядов для записи числа, но это порождает новый тип со своим Zmax; например, тип Longint ("целое число со знаком") с максимальным значением 214748364710, числа которого занимают 4 байта.

С беззнаковыми числами выполняются арифметические операции, не меняющие типа числа; к которым относятся сложение и умножение.

Сложение

Сложение производится согласно таблице сложения, которая для двоичных чисел имеет вид:

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

Пример 1. Найти сумму 159410 + 1756310 при беззнаковой двоичной кодировке и 16-битном машинном слове.

После перевода слагаемых в двоичную систему счисления и выполнения сложения получим (для удобства восприятия 16-ти разрядное число разобьем на группы по четыре разряда):

0010 0110 1001 0100

0011 0000 0011 1001

0101 0110 1100 1101

Пример 2. Найти сумму 6553410 + 310

1111 1111 1111 1110 —Переносы

0000 0000 0000 0011

1 0000 0000 0000 0001

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

В программах, предназначенных для обработки числовой информации (например, Excel, MathCAD или Calc), при переполнении разрядной сетки производится автоматическое преобразование целого числа в вещественный тип.

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

Умножение

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

0 · 0 = 0
0 · 1 = 0
1 · 0 = 0
1 · 1 = 1

Пример 1. Найти произведение 1310 × 510 . После перевода сомножителей в двоичную систему счисления получим

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

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

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

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Увлечёшься девушкой-вырастут хвосты, займёшься учебой-вырастут рога 9987 — | 7776 — или читать все.

Отключите adBlock!
и обновите страницу (F5)
очень нужно

Десятичное и двоичное представление чисел

Для работы с числовой информацией мы пользуемся системой счисления, содержащей десять цифр: от $0$ до $9$. Эта система называется десятичной.

Кроме цифр, в десятичной системе большое значение имеют разряды. Подсчитывая количество чего-нибудь и дойдя до самой большой из доступных нам цифр (до $9$), мы вводим второй разряд и дальше каждое последующее число формируем из двух цифр. Дойдя до $99$, мы вынуждены вводить третий разряд. В пределах трех разрядов мы можем досчитать уже до $999$ и т.д.

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

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

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

Попробуй обратиться за помощью к преподавателям

Вот таблица первых десяти чисел в каждой из этих систем счисления:


Как видите, в десятичной системе счисления для отображения любой из первых десяти цифр достаточно $1$ разряда. В двоичной системе для тех же целей потребуется уже $4$ разряда.

Соответственно, для кодирования этой же информации в виде двоичного кода нужен носитель емкостью как минимум $4$ бита ($0,5$ байта). Человеческий мозг, привыкший к десятичной системе счисления, плохо воспринимает систему двоичную. Хотя обе они построены на одинаковых принципах и отличаются лишь количеством используемых цифр. В двоичной системе точно так же можно осуществлять любые арифметические операции с любыми числами. Главный ее минус — необходимость иметь дело с большим количеством разрядов.

Задай вопрос специалистам и получи
ответ уже через 15 минут!

Так, самое большое десятичное число, которое можно отобразить в 8 разрядах двоичной системы — $255$, в $16$ разрядах – $65535$, в $24$ разрядах – $16777215$.

Алгоритмы кодирования чисел в двоичной системе счисления

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

Небольшие целые числа без знака.

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

Целые десятичные числа без знака, сохраненные на носителе в двоичном коде, будут выглядеть примерно так:


Большие целые числа и числа со знаком.

Для записи каждого такого числа на запоминающем устройстве, как правило, отводится $2$-байтний блок ($16$ битов).

Старший бит блока (тот, что крайний слева) отводится под запись знака числа и в кодировании самого числа не участвует. Если число со знаком "плюс", этот бит остается пустым, если со знаком "минус" – в него записывается логическая единица. Число же кодируется в оставшихся 15 битах. Например, алгоритм кодирования числа $+2676$ будет следующим:

  • Перевести число $2676$ из десятичной системы счисления в двоичную. В итоге получится $101001110100$;
  • Записать полученное двоичное число в первые $15$ бит $16$-битного блока (начиная с правого края). Последний, $16$-й бит, должен остаться пустым, поскольку кодируемое число имеет знак $+$.

В итоге $+2676$ в двоичном коде на запоминающем устройстве будет выглядеть так:


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

Чтобы было понятно, рассмотрим алгоритм кодирования числа $-2676$:

  1. Перевести число $2676$ из десятичной системы счисления в двоичную. Получим все тоже двоичное число $101001110100$;
  2. Записать полученное двоичное число в первые $15$ бит $16$-битного блока. Затем инвертировать, то есть, изменить на противоположное, значение каждого из $15$ битов;
  3. Записать в $16$-й бит логическую единицу, поскольку кодируемое число имеет отрицательное значение.

В итоге $-2676$ на запоминающем устройстве в двоичном коде будет иметь следующий вид:


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

Максимальным десятичным числом, которое можно закодировать в $15$ битах запоминающего устройства, является $32767$. Иногда для записи чисел по этому алгоритму выделяются $4$-байтные блоки. В таком случае для кодирования каждого числа будет использоваться $31$ бит плюс $1$ бит для кодирования знака числа. Тогда максимальным десятичным числом, сохраняемым в каждую ячейку, будет $2147483647$ (со знаком плюс или минус).

Дробные числа со знаком.

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

Для записи каждого числа с плавающей запятой компьютер чаще всего выделяет $4$-байтную ячейку ($32$ бита):

  • в старшем бите этой ячейки (тот, что крайний слева) записывается знак числа. Если число отрицательное, в этот бит записывается логическая единица, если оно со знаком "плюс" – бит остается пустым.
  • во втором слева бите аналогичным образом записывается знак порядка (что такое порядок поймете позже);
  • в следующих за ним $7$ битах записывается значение порядка.
  • в оставшихся $23$ битах записывается так называемая мантисса числа.


Чтобы стало понятно, что такое порядок, мантисса и зачем они нужны, переведем в двоичный код десятичное число $6,25$.

Порядок кодирования будет примерно следующим:

  1. Перевести десятичное число в двоичное (десятичное $6,25$ равно двоичному $110,01$);
  2. Определить мантиссу числа. Для этого в числе необходимо передвинуть запятую в нужном направлении, чтобы слева от нее не осталось ни одной единицы. В нашем случае запятую придется передвинуть на три знака влево. В итоге, получим мантиссу, $11001$;
  3. Определить значение и знак порядка. Значение порядка – это количество символов, на которое была сдвинута запятая для получения мантиссы. В нашем случае оно равно $3$ (или $11$ в двоичной форме);

Знак порядка – это направление, в котором пришлось двигать запятую: влево – "плюс", вправо – "минус". В нашем примере запятая двигалась влево, поэтому знак порядка – "плюс".

Таким образом, порядок двоичного числа $110,01$ будет равен $+11$, а его мантисса, $11001$. В результате в двоичном коде на запоминающем устройстве это число будет записано следующим образом


Обратите внимание, что мантисса в двоичном коде записывается, начиная с первого после запятой знака, а сама запятая упускается. Числа с плавающей запятой, кодируемые в $32$ битах, называю числами одинарной точности. Когда для записи числа $32$-битной ячейки недостаточно, компьютер может использовать ячейку из $64$ битов. Число с плавающей запятой, закодированное в такой ячейке, называется числом двойной точности.

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

Особенность представления чисел в памяти компьютера – ячейки имеют ограниченный размер, а это вынуждает использовать при записи чисел и действиях с ними конечное число разрядов. В зависимости от типа числа определяется способ кодирования, количество отводимых под число ячеек памяти (разрядность числа) и перечень допустимых операций при обработке. Способы кодирования чисел и допустимые над ними действия различны для следующих числовых множеств:

целые положительные числа (без знака)

целые со знаком

вещественные нормализованные числа. (иррац (бесконечные непериодические дроби, Пи, корень из двух..) и рацион (m/n или бесконечные периодические дроби))

Целые числа без знака.

Память в компьютере имеет байтовую структуру. Целые без знака обычно занимают один, два или более байт. В однобайтовом формате они могут принимать значения в диапазоне от 0 до 255, в двухбайтовом от 0 до 65535. Здесь попытка представить в байтовом формате число 258 будет интерпретироваться как ошибка.

Представляются целые числа без знака в своем двоичном виде.

в байтовом формате:

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

Целые числа со знаком

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

При кодировании прямым n-разрядным двоичным кодом один разряд (как правило самый старший) отводится для знака числа. Остальные n-1 разрядов – для значащих цифр. Значение знакового разряда равно 0 для положительных чисел, 1 – для отрицательных.

Пример: 1 = 0000 0001, -1 = 1000 0001

Он получается инвертированием всех цифр двоичного кода абсолютной величины числа.

код модуля: 00000001

обратный код: 11111110

Отрицательные числа в компьютерах представляются в ДОПОЛНИТЕЛЬНОМ КОДЕ . Для получения дополнительного кода двоичного числа необходимо инвертировать это число (заменить все 0 на 1, а 1 на 0) , т.е получить обратный код числа, а затем прибавить в младшем разряде 1.

Например: Используется 6 разрядное представление двоичных чисел. 7 = 000111; -7 = 111001 – это дополнительный код.

Дополнительный код получен так:

1) инверсия 000111 равна 111000:

111001 – это представление числа -7 в дополнительном коде.

При таком представлении чисел вычитание двух чисел А – В выполняется как сложение А + (-В).

Например: 001100 = 12

111001 = -7 в дополнительном коде

единица переноса в старший разряд при выполнении операции

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

Пример: Для числа -1101:

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

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

Сдвиг числа на один разряд влево увеличивает число в 2 раза; сдвиг на один разряд вправо – уменьшает его в 2 раза:


В компьютерах числа представляются в двоичной форме с определенным количеством разрядов. Обычно разрядность компьютеров равна одному из следующих значений: 8, 16, 32, 64.

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

Например, если разрядность компьютера равна 16, то количество различных двоичных последовательностей будет равно

2 16 = 2 6+10 = 64 * 1024 = 65536.

Для кодирования чисел в компьютере существуют два основных формата: для кодирования целых чисел и для задания действительных чисел — представление числа в формате с плавающей точкой. Рассмотрим кодирование целых чисел.

Для каждого числа в памяти компьютера отводится К ячеек (8, 18, 24, 32). В К-разрядной ячейке может храниться 2 k различных значений целых чисел .

В 8 разрядной ячейке может храниться число в диапазоне от 0 до 255 или от ‑128 до 127 (всего 256=2 8 чисел).

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

1) перевести число N в двоичную систему счисления;

2) полученный результат дополнить слева незначащими нулями до К разрядов.

Для записи целого отрицательного числа (-N) необходимо:

1) получить внутреннее представление положительного числа N; или прямой код числа

2) обратный код этого числа заменой 0 на 1 и 1 на 0;

3) полученному числу прибавить 1 (дополнительный код числа).

Запишем отрицательное число –126 в 8 битном формате.

Прямой код числа 126=0111 1110,

обратный код числа 1000 0001, после прибавления 1 получим дополнительный код -126=1000 0010

Запишем отрицательное число – 7в 8 битном формате.

Прямой код числа 7=0000 0111,

обратный код числа 1111 1000, после прибавления 1 получим дополнительный код -7=1111 1001

Формат с плавающей точкой

использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления n в некоторой целой степени p (основание системы счисления), которую называют порядком: R = m * n p. Представление числа в форме с плавающей точкой неоднозначно.

Пример 4. Справедливы следующие равенства:

52.345 = 0.0052345 x 10 4 = 5234.5 x 10 -2 = 0.52345 x 10 2

В ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в таком представлении должна удовлетворять условию: 0.1 p Выбор читателей

В ЭВМ применяется двоичная система счисления, т.е. все числа в компьютере представляются с помощью нулей и единиц, поэтому компьютер может обрабатывать только информацию, представленную в цифровой форме.

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

Кодирование – это преобразование данных одного типа через данные другого типа. В ЭВМ применяется система двоичного кодирования, основанная на представлении данных последовательностью двух знаков: 1 и 0, которые называются двоичными цифрами (binary digit – сокращенно bit).

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

Кодирование чисел

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

Кодирование целых чисел производиться через их представление в двоичной системе счисления: именно в этом виде они и помещаются в ячейке. Один бит отводиться при этом для представления знака числа (нулем кодируется знак "плюс", единицей – "минус").

Для кодирования действительных чисел существует специальный формат чисел с плавающей запятой. Число при этом представляется в виде: , где M – мантисса, p – порядок числа N, q – основание системы счисления. Если при этом мантисса M удовлетворяет условию , то число N называют нормализованным.

Кодирование координат

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

Кодирование текста

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

Существующий стандарт ASCII (сокращение от American Standard Code for Information Intercange – американский стандартный код для обмена информацией; 8 – разрядная система кодирования) содержит две таблицы кодирования – базовую и расширенную. Первая таблица содержит 128 основных символов, в ней размещены коды символов английского алфавита, а во второй таблице кодирования содержатся 128 расширенных символов.

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

Так, например, кодировка символов русского языка Widows – 1251 используется для компьютеров, работающих под ОС Windows. Другая кодировка для русского языка – это КОИ – 8, которая также широко используется в компьютерных сетях и российском секторе Интернет.

В настоящее время существует универсальная система UNICODE, основанная на 16 – разрядном кодировании символов. Эта 16 – разрядная система обеспечивает универсальные коды для 65536 различных символов, т.е. в этой таблице могут разместиться символы языков большинства стран мира.

Кодирование графической информации

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

Растровые изображения представляют собой однослойную сетку точек, называемых пикселями (pixel, от англ. picture element). Код пикселя содержит информации о его цвете.

Для описания черно-белых изображений используются оттенки серого цвета, то есть при кодировании учитывается только яркость. Она описывается одним числом, поэтому для кодирования одного пикселя требуется от 1 до 8 бит: чёрный цвет – 0, белый цвет – N = 2 k -l, где k – число разрядов, которые отводятся для кодирования цвета. Например, при длине ячейки в 8 бит это 256-1 = 255. Человеческий глаз в состоянии различить от 100 до 200 оттенков серого цвета, поэтому восьми разрядов для этого вполне хватает.

Цветные изображения воспринимаются нами как сумма трёх основных цветов – красного, зелёного и синего. Например, сиреневый = красный + синий; жёлтый = красный + зелёный; оранжевый = красный + зелёный, но в другой пропорции. Поэтому достаточно закодировать цвет тремя числами – яркостью его красной, зелёной и синей составляющих. Этот способ кодирования называется RGB (Red – Green – Blue). Его используют в устройствах, способных излучать свет (мониторы). При рисовании на бумаге действуют другие правила, так как краски сами по себе не испускают свет, а только поглощают некоторые цвета спектра. Если смешать красную и зелёную краски, то получится коричневый, а не жёлтый цвет. Поэтому при печати цветных изображений используют метод CMY (Cyan – Magenta – Yellow) – голубой, сиреневый, жёлтый цвета. При таком кодировании красный = сиреневый + жёлтый; зелёный = голубой + жёлтый.

В противоположность растровой графике векторное изображение многослойно. Каждый элемент такого изображения – линия, прямоугольник, окружность или фрагмент текста – располагается в своем собственном слое, пиксели которого устанавливаются независимо от других слоев. Каждый элемент векторного изображения является объектом, который описывается с помощью специального языка (математических уравнения линий, дуг, окружностей и т.д.) Сложные объекты (ломаные линии, различные геометрические фигуры) представляются в виде совокупности элементарных графических объектов.

Объекты векторного изображения, в отличие от растровой графики, могут изменять свои размеры без потери качества (при увеличении растрового изображения увеличивается зернистость).

Как всякий звук, музыка является не чем иным, как звуковыми колебаниями, зарегистрировав которые достаточно точно, можно этот звук безошибочно воспроизвести. Нужно только непрерывный сигнал, которым является звук, преобразовать в последовательность нулей и единиц. С помощью микрофона звук можно превратить в электрические колебания и измерить их амплитуду через равные промежутки времени (несколько десятков тысяч раз в секунду). Каждое измерение записывается в двоичном коде. Этот процесс называется дискретизацией. Устройство для выполнения дискретизации называется аналогово-цифровым преобразователем (АЦП). Воспроизведение такого звука ведётся при помощи цифро-аналогового преобразователя (ЦАП). Полученный ступенчатый сигнал сглаживается и преобразуется в звук при помощи усилителя и динамика. На качество воспроизведения влияют частота дискретизации и разрешение (размер ячейки, отведённой под запись значения амплитуды). Например, при записи музыки на компакт-диски используются 16-разрядные значения и частота дискретизации 44 032 Гц.

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

Издавна используется достаточно компактный способ представления музыки – нотная запись. В ней с помощью специальных символов указывается высота и длительность, общий темп исполнения и как сыграть. Фактически, такую запись можно считать алгоритмом для музыканта, записанным на особом формальном языке. В 1983 г. ведущие производители компьютеров и музыкальных синтезаторов разработали стандарт, определивший такую систему кодов. Он получил название MIDI (Musical Instrument Digital Interface). При таком кодировании запись компактна, легко меняется инструмент исполнителя, тональность звучания, одна и та же запись воспроизводится как на синтезаторе, так и на компьютере.

Конечно, такая система кодирования позволяет записать далеко не всякий звук, она годится только для инструментальной музыки. Но есть у нее и преимущества: чрезвычайно компактная запись, естественность для музыканта (практически любой MIDI-редактор позволяет работать с музыкой в виде обычных нот), легкость замены инструментов, изменения темпа и тональности мелодии.

Есть и другие форматы записи музыки. Среди них – формат MP3, позволяющий с очень большим качеством и степенью сжатия кодировать музыку, при этом вместо 18 – 20 музыкальных композиций на стандартном компакт-диске (CDROM) помещается около 200. Одна песня занимает примерно 3,5 Mb, что позволяет пользователям сети Интернет легко обмениваться музыкальными композициями.

Читайте также: