|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Кодирование вещественных чиселМоисеева Н.Ф. учитель информатики МОУ гимназии № 1 г. Ярославль Кодирование числовой информации Кодирование целых чисел Для работы с числами человек использует в основном две формы для их записи - естественная и экспоненциальная. Естественной формой называется более привычная для нас, обычная запись числа, например, 1000 или 3,5. Экспоненциальная же форма записи чисел обычно используется для обозначения больших или очень маленьких чисел, т.к. в естественной форме в записи таких чисел используется большое количество незначащих нулей (например, 0,000002 = 0,2-10-5 или 1000 = 103). Подробнее рассмотрим, как в памяти компьютера представляются целые числа. Не забывайте, что числа в компьютере представлены в двоичной системе счисления, поэтому речь будет идти именно о таких числах. Запятая в таких числах фиксируется строго в конце и остается строго фиксированной. Поэтому этот формат называется форматом с фиксированной точкой. Все целые числа в компьютере разделяются на числа без знака (только положительные) и со знаком (положительные и отрицательные). Для хранения чисел в памяти отводится определенное количество разрядов, в совокупности представляющих собой k-разрядную сетку. Пояснение: предложите учащимся приготовить следующую таблицу и по ходу изложения материала заполните ее.
Обычно целые числа занимают в памяти ЭВМ 1, 2 или 4 байта. Поэтому легко вычислить диапазон чисел, которые можно сохранить в такой разрядной сетке: - диапазон чисел без знака — в однобайтовой разрядной сетке от 0 до 28-1 =255, в двухбайтовой -от 0 до 216-1 =65535; - диапазон чисел со знаком (с учетом того, что старший разряд отводи Обратим внимание на кодирование знака числа. Знак положительно числа «+» кодируется нулем, а знак отрицательного числа «-» кодируется единицей. Число в разрядной сетке располагается так, что его самый младший двоичный разряд записывается в крайний правый бит. Если количество разрядов в разрядной сетке превышает количество разрядов числа, оставшие разряды заполняются нулями. Пример 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. Впишем дополнительный код в разрядную сетку
Код знака Примечание: обратите внимание на единицу в старшем разряде, которая кодирует знак «-» Кодирование вещественных чисел Недостатком представления чисел в формате с фиксированной запятой является конечный диапазон представления величин, недостаточный для решения математических, физических, экономических и других задач, в которых используются как очень малые, так и очень большие числа. Поэтому для преставления вещественных чисел (конечных и бесконечных десятичных дробей) используется другой формат — формат с плавающей точкой (запятой). Формат чисел с плавающей точкой основывается на экспоненциальной форме записи чисел, в которой любое число может быть представлено в следующей форме: А= 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.008 сек.) |