АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Кодирование вещественных чисел

Читайте также:
  1. Автоматический поиск инструмента и его кодирование
  2. Адаптивное кодирование.
  3. Алгебраическое представление двоичных чисел
  4. Античность: поиски «вещественных» первоначал
  5. Блок 3. Кодирование информации.
  6. Блочное двоичное кодирование
  7. В10. Умение исполнить циклический алгоритм обработки массива чисел, записанный на алгоритмическом языке
  8. Вопрос №2. Основные числовые множества. Некоторые свойства действительных чисел. Геометрическая интерпретация действ чисел. Окрестность точки.
  9. Глава 6. Кодирование
  10. Графические модели и декодирование методом передачи сообщений
  11. Двоичное кодирование графической информации
  12. Двоичное кодирование звука

Моисеева Н.Ф. учитель информатики МОУ гимназии № 1 г. Ярославль

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

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

Для работы с числами человек использует в основном две формы для их записи - естественная и экспоненциальная. Естественной формой называется более привычная для нас, обычная запись числа, например, 1000 или 3,5. Экспоненциальная же форма записи чисел обычно используется для обозначения больших или очень маленьких чисел, т.к. в естественной форме в записи таких чисел используется большое количество незначащих нулей (например, 0,000002 = 0,2-10-5 или 1000 = 103).

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

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

Запятая в таких числах фиксируется строго в конце и остается строго фиксированной.

Поэтому этот формат называется форматом с фиксированной точкой.

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

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

Формат с фиксированной точкой
Формат Количество разрядов(n), отводимое для хранения числа) Минимальное число Максимальное число Интервал чисел
Целые числа без знака 1 байт (n=8)   2n-1 = 255 0..255
2 байта (n=16)   2n-1 =65535 0..65535
Целые числа со знаком 2 байта (n=16) - 2n-1 = -32768 - 2n-1 -1= 32767 -32768..32767
4 байта (n=32) - 2n-1 = -2 147 483 648 - 2n-1 - 1= -2 147 483 647 -2147483648.. 2147483647

 

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

- диапазон чисел без знака — в однобайтовой разрядной сетке от 0 до 28-1 =255, в двухбайтовой -от 0 до 216-1 =65535;

- диапазон чисел со знаком (с учетом того, что старший разряд отводи
ся под знак) - в двухбайтовой разрядной сетке от -215= - 32768 до
215 - 1 = 32767, в четырехбайтовой разрядной сетке от —232 = — 2 147 41
648 до 232 - 1=2 147 483 647.

Обратим внимание на кодирование знака числа. Знак положительно числа «+» кодируется нулем, а знак отрицательного числа «-» кодируется единицей.

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

Пример 1

Представить число 2110 в однобайтовой разрядной сетке.

1. Переведем число 2110 в двоичную систему счисления.

2110= 101012

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

2. Нарисуем восьмиразрядную сетку (1 байт=8 бит)

 

7 6 5 4 3 2 1 0 – номер разряда

               

 

3. Впишем число, начиная с младшего разряда

               

 

4. Заполним оставшиеся разряды нулями

               

 

Пример 2

Представить число +2110 и -2110 в двухбайтовой разрядной сетке.

Представление положительного числа

+2110 = 101012

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

                             

 

Код знака

 

Впишем число, начиная с младшего разряда и указав код знака «+» в старшем разряде

                               
                               

 

Заполним оставшиеся разряды нулями.

                               

 

Представление отрицательного числа

1. Переведём модуль числа -2110 в двоичную систему 2110 = 101012

2. Нарисуем шестнадцатиразрядную сетку (2 байта = 16 бит)

 

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

                             

 

Код знака

3. Получим внутренне представление модуля числа

0000 0000 0001 0101 – прямой код числа

4. Найдём обратный код числа, заменив в прямом коде нули на единицы, а единицы на нули:

1111 1111 1110 1010 – обратный код

5. Найдём дополнительный код числа, прибавив к обратному коду единицу:

1111 1111 1110 1010

+ 1

1111 1111 1110 1011 – дополнительный код

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

1                              

 

Код знака

Примечание: обратите внимание на единицу в старшем разряде, которая кодирует знак «-»

Кодирование вещественных чисел

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

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

А= m qn, где: m - мантисса числа, которая для однозначности представления чисел с пла­вающей точкой должна иметь нормализованную форму, а именно представлять собой правильную дробь с цифрой после запятой, отличной от нуля;

q – основание системы счисления;

n-порядок числа.

Например, число 5,15 можно представить в различных видах

51,5*10-1=0,515*10=0,0515*102

Для однозначности представления чисел используется нормализованная форма, для которой мантисса удовлетворяет условию 1/n<=|m|<1

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

Пример:

888,888 = 0,888888*103

75321 = 0,75321*105

217,934=0,217934*103

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

 

31 1 байт 2 байта

                                                               

  мантисса

 

знак знак

порядка мантиссы

 

Пример 3

Представить число 250,187510 в формате с плавающей точкой в 4-байтовой разрядной сетке:

1) Переведём число в двоичную систему с 23 значащимися цифрами

11111010, 001100000000002

2) Нормализуем мантиссу 11111010, 00110000000000 =0,11111010 00110000000000*101000

3) 0,11111010 00110000000000*101000

мантисса порядок

(положительная) (положительный)

4) запишем число в 32-разрядной сетке:

 

                                                               

 
 
  мантисса

 


знак порядок знак

порядка мантиссы

 


Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.)