Числа в памяти компьютера
Главная | Информатика и информационно-коммуникационные технологии | Планирование уроков и материалы к урокам | 8 классы | Планирование уроков на учебный год | Числа в памяти компьютера
Основные темы параграфа:
— представление целых чисел;
— размер ячейки и диапазон значений чисел;
— особенности работы компьютера с целыми числами;
— представление вещественных чисел;
— особенности работы компьютера с вещественными числами.
Содержание урока
Представление целых чисел
Размер ячейки и диапазон значений чисел
Представление вещественных чисел
Вопросы и задания
Любая информация в памяти компьютера представляется в двоичном виде: последовательностью нулей и единиц. Исторически первым типом данных, с которыми стали работать компьютеры, были числа. Теперь это и числа, и тексты, и изображение, и звук. Работа с данными любого типа в конечном итоге сводится к
Поэтому современные компьютерные технологии называют цифровыми технологиями.
В компьютере различаются два типа числовых величин: целые числа и вещественные числа. Различаются способы их представления в памяти компьютера.
Представление целых чисел
Часть памяти, в которой хранится одно число, будем называть ячейкой. Минимальный размер ячейки, в которой может храниться целое число, — 8 битов, или 1 байт. Получим представление десятичного числа 25 в такой ячейке. Для этого нужно перевести число в двоичную систему счисления. Как это делается, вы уже знаете.
Результат перевода:
2510 = 110012
.Теперь осталось «вписать» его в восьмиразрядную ячейку (записать так называемое внутреннее представление числа). Делается это так:
00011001.
Число записывается «прижатым» к правому краю ячейки (в младших разрядах). Оставшиеся слева разряды (старшие) заполняются нулями.
Самый старший разряд — первый слева — хранит знак числа. Если число положительное, то в этом разряде ноль, если отрицательное — единица. Самому большому положительному целому числу соответствует следующий код:
01111111
Чему он равен в десятичной системе? Можно расписать это число в развернутой форме и вычислить выражение. Но можно решить задачу быстрее. Если к младшему разряду этого числа прибавить единицу, то получится число 10000000. В десятичной системе оно равно 27 = 128. Значит:
011111112 = 128 — 1 = 127.
Максимальное целое положительное число, помещающееся в 8-разрядную ячейку, равно 127.
Теперь рассмотрим представление целых отрицательных чисел. Как, например, в 8-разрядной ячейке памяти будет представлено число -25?
Казалось бы, очевидным ответом является следующий: нужно в представлении числа 25 заменить старший разряд с 0 на 1. Но в компьютере все несколько сложнее.
Для представления отрицательных целых чисел используется дополнительный код.
Получить дополнительный код некоторого отрицательного числа -X можно по следующему алгоритму:
1) записать внутреннее представление соответствующего ему положительного числа +Х — это мы уже умеем;
2) записать обратный код полученного числа заменой во всех разрядах 0 на 1 и 1 на 0;
3) к полученному числу прибавить 1.
Определим по этим правилам внутреннее представление числа -2510 в восьмиразрядной ячейке:
1) 00011001
2) 11100110
3) +1
11100111 — это и есть представление числа -25.
В результате выполнении такого алгоритма единица в старшем разряде получается автоматически. Она и является признаком отрицательного значения.
Проверим полученный результат. Очевидно, что при сложении чисел +25 и -25 должен получиться ноль.
0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | |
+ | ||||||||
1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Единица в старшем разряде, получаемая при сложении, выходит за границу ячейки и исчезает. В ячейке остается нолъ.
Из этого примера теперь можно понять, почему представление отрицательного числа называется дополнительным кодом.
Представление восьмиразрядного отрицательного числа -X дополняет представление соответствующего положительного числа +Х до значения 2 8.
xn—-7sbbfb7a7aej.xn--p1ai
«Числа в памяти компьютера». 9-й класс
Разделы: Информатика, Конкурс «Презентация к уроку»
Презентация к уроку
Загрузить презентацию (1,4 МБ)
Внимание! Предварительный просмотр слайдов используется исключительно в ознакомительных целях и может не давать представления о всех возможностях презентации. Если вас заинтересовала данная работа, пожалуйста, загрузите полную версию.
Цели урока:
- Образовательные:
- повторить понятие система счисления;
- повторить правила перевода из любой системы счисления в 10-ю и из 10-й системы счисления в любую;
- повторить правила перевода между 2-й, 8-й и 16-й системами счисления, используя метод триад и тетрад;
- дать представление о представлении положительных и отрицательных числах в памяти компьютера и особенностях работы с целыми числами;
- дать представление о разрядности ячейки памяти и диапазоне значений чисел;
- дать представление о представлении вещественных чисел в памяти компьютера и особенностях работы компьютера с вещественными числами.
- Развивающие:
- развивать внимание, логическое мышление, умение анализировать, сопоставлять, делать выводы.
- Воспитательные:
- воспитание информационной культуры учащихся;
- прививать интерес к предмету информатика;
- прививать навыки самостоятельной работы;
- воспитание активности учащихся.
Формы организации учащихся на уроке: индивидуальная, фронтальная
Используемое оборудование: компьютеры, интерактивная доска
Программное обеспечение: презентация к уроку, проверочный тест.
ХОД УРОКА
I. Организационный момент
Приветствие, проверка письменного домашнего задания.
II. Актуализация полученных знаний
Учащиеся (несколько человек) проходят тест на компьютерах по теме: «Системы счисления». (Приложение 1)
Для остальных учащихся фронтальный опрос.
Вопросы для фронтального опроса:
– Что такое система счисления?
– Сколько цифр используются в 2-й, 8-й, 10-й, 16-й
системах счисления, перечислить какие.
– Перевести число 3458 в 10-ю систему
счисления.
– Перевести число 45110 в 16-ю систему
счисления.
– Перевод числа 10110011012 в 8-ю и 16-ю системы
счисления, используя триады и тетрады.
III. Изучение нового материала (Презентация)
Вся информация в памяти компьютера
представляется в двоичном виде, т.е. с помощью
нулей и единиц. Первоначально компьютеры могли
работать только с числами. Теперь это числа,
тексты, изображения, звук, видео. Работа с данными
любого типа сводится к обработке двоичных чисел
– чисел, записываемых с помощью двух цифр – 0 и 1.
Отсюда и название – «Цифровые технологии».
Они называются:
- форма с фиксированной точкой (применяется к целым числам)
- форма с плавающей точкой (применяется к вещественным числам)
Представление целых чисел в форме с фиксированной запятой
Часть памяти компьютера, в которой хранится
одно число – ячейка. Минимальный размер ячейки,
где может храниться целое число – 8 бит или 1 байт.
Представим число 42 10 в двоичной системе
счисления, а затем представим как будет
выглядеть это число в памяти компьютера.
4210 = 1010102.
Запишем полученное число в восьмиразрядную ячейку. Запись в ячейку производится с конца, то есть последняя цифра числа записывается в последний разряд ячейки, потом предпоследнюю цифру в предпоследний разряд ячейки и так далее пока не закончится число. Свободные разряды слева заполняются нулями.
Самый старший разряд (первый слева) – хранит знак числа. Если число положительное, то этот разряд равен 0, если отрицательное – 1.
Таким образом, самое большее положительное число, которое можно вписать в восьмиразрядную сетку имеет вид:
И это число 11111112 = 12710
Максимальное целое положительное число,
помещающееся в восьмиразрядную ячейку, равно 127.
Рассмотрим представление в памяти компьютера целых отрицательных чисел
Для представления целых отрицательных чисел
используется дополнительный код.
Дополнительный код числа можно получить, зная
следующий алгоритм:
- Записать внутреннее представление соответствующего ему положительного числа
- Записать обратный код полученного числа заменой во всех разрядах 0 на 1, и 1 на 0.
- К полученному числу прибавить 1.
Представим внутреннее представление числа – 4210 в восьмиразрядной ячейке: 4210 = 1010102
1) 00101010
2) 11010101 это обратный код
3) + 1
11010110 получили представление числа – 4210 в восьмиразрядной ячейке.
Старший разряд получил значение 1
автоматически. Единица в старшем разряде –
признак отрицательного числа.
Сложим числа 42 и – 42. Должны получить 0, проверим:
+ 00101010
11010110
100000000 получили число, старший разряд которого выходит за пределы восьмиразрядной ячейки, таким образом восьмиразрядная ячейка заполнена нулями, т.е. полученное при сложение число равно 0.
Представление восьмиразрядного отрицательного числа – Х дополняет представление соответствующего положительного числа Х до значения 28. Поэтому представление отрицательного целого числа называется дополнительным кодом.
Диапазон представления целых чисел в восьмиразрядной ячейке:
– 128 < X < 127 или –27< Х < 27 – 1
Мы рассмотрели представление целых чисел на примере 8-ми разрядной ячейки, но бывают и 16-разрядные и 32-разрядные ячейки.
В 16-рядной ячейке можно получить числа диапазоном:
– 215< X < 215 – 1 или – 32768 < X < 32767
В 32-разрядной ячейке можно получить числа диапазоном:
– 231< X < 231 – 1 или – 2147483648 < X < 2147483647
Общая формула для диапазона целых чисел в зависимости от разрядности N ячейки:
– 2N–1< X < 2N–1 – 1
Представление целых чисел в форме с плавающей запятой.
Вещественные числа это тоже, что и
действительные числа. Из курса математике вам
известно, что к действительным числам относятся
целые и дробные числа.
Всякое вещественное число X записывается в виде
произведения мантиссы m и основания
системы счисления p в некоторой целой степени n,
которую называют порядком:
X = m · pn
Например, число 25,324 = 0,25324 · 102
мантисса m = 0,25324, n = 2 – порядок. Порядок
указывает, на какое количество позиций и в каком
направлении должна сместится десятичная запятая
в мантиссе.
Чаще всего для хранения вещественных чисел в
памяти компьютера используется 32-разрядная или
64-разрядная ячейка. В первом случае это будет с
обычной точностью, во-втором случае с удвоенной
точностью. В ячейке хранятся два числа в двоичной
системе счисления: мантисса и порядка.
Диапазон вещественных чисел ограничен, но он
значительно шире, чем при представление целых
чисел в форме с фиксированной запятой.
Например, при использовании 32-разрядной ячейки
этот диапазон следующий:
–3,4 · 1038< X < 3,4 · 1038
Результаты машинных вычислений с вещественными числами содержат погрешность. При удвоенной точности погрешность уменьшается. Выход из диапазона (переполнение) приводит к прерыванию работы процессора.
IV. Закрепление изученного материала
Выполнить самостоятельно задания №3(а,б) и №4(а,б) на странице учебника 105 с последующей проверкой
№3(а,б)
а) Записать внутреннее представление числа 32 в восьмиразрядную ячейку 3210 = 1000002
Значит внутреннее представление числа 32 в восьмиразрядную ячейку: 00100000
б) Записать внутреннее представление числа –32
в восьмиразрядную ячейку
32 имеет
представление
00100000
Обратный
код
11011111
+1
11100000
Значит внутреннее представление числа –32 в
восьмиразрядную ячейку: 11100000
№4(а,б)
а) Определить какому десятичному числу соответствует двоичный код 00010101 восьмиразрядного представления целого числа.
Видим, что первый разряд – 0, значит число положительное.
Переведём число 101012 в десятичную систему счисления:
1 · 24 + 0 · 23 + 1 · 22 + 0 · 21 + 1 · 20 = 16 + 4 + 1 = 2110
Значит двоичный код 00010101 восьмиразрядного представления целого числа 2110.
б) Определить какому десятичному числу соответствует двоичный код 11111110 восьмиразрядного представления целого числа.
Видим, что первый разряд – 1, значит число отрицательное. Для нахождения десятичного числа выполним алгоритм дополнительного кода в обратном порядке, а именно:
1) Вычтем из данного числа 1
11111110
– 1
11111101
2) Заменим 1 на 0 и 0 на 1
00000010
3) Переведём двоичное число 102 в десятичную систему счисления.
102 = 1 · 21 + 0 · 20 = 2
Таким образом, двоичный код 11111110 восьмиразрядного представления целого числа 210.
Задание: представить вещественное число
а) 0,0050589; б)1234,0456
в нормализованной форме с плавающей точкой в десятичной системе счисления.
Ответы:
а) 0,0050589 = 0,50589 · 10–2
б) 1234,0456 = 0,12340456 · 104
V. Итог урока
– Сегодня на уроке вы узнали, каким образом
хранятся числа в памяти компьютера. Как зависит
диапазон значений чисел от размера ячейки, в
которой хранится число.
Выставление оценок за урок (тест и задания №3, №4)
VI. Домашнее задание
Параграф 17, вопросы 1, 2, задания №3 (в,г), №4 (в,г)/
20.05.2012
urok.1sept.ru
Представление чисел в памяти компьютера.
Представление чисел в памяти компьютера имеет специфическую особенность, связанную с тем, что в памяти компьютера они должны располагаться в байтах – минимальных по размеру адресуемых ячейках памяти. В байте может содержаться произвольный код из 8 различных разрядов, и задача представления состоит в том, чтобы указать правила, как в одном или нескольких байтах записать число.
Один байт в памяти компьютера занимают целые числа от 0 до 255. Данные числа можно представить непосредственно в двоичном коде.
Для представления действительных чисел (как больших, так и малых) требуется больше одного байта. При этом бесконечные числа усекаются до определенного знака и в компьютерном представлении выступают как приближенные.
Для представления действительных чисел удобно использовать форму записи числа в виде произведения:
X=m·qp,
где m– мантисса числа,
q– основание системы счисления,
p– целое число, называемое порядком.
Такой способ записи чисел называется представлением числа с плавающей точкой.
Действительные числа в компьютерах различных типов записываются по-разному, тем не менее существует несколько международных стандартных форматов, различающихся по точности, но имеющих одинаковую структуру. Рассмотрим на примере числа, занимающего 4 байта (то есть 32 ячейки).
Первый бит двоичного представления используется для кодирования знака мантиссы (ноль интерпретируется как плюс, единица – как минус). Следующая группа бит кодирует порядок числа, а оставшиеся биты кодируют абсолютную величину мантиссы. Длина порядка и мантиссы фиксируются.
Вещественные числа в памяти компьютера, в зависимости от требуемой точности (количества разрядов мантиссы) и диапазона значений (количество разрядов порядка), занимают от 4 до 10 байтов. 4-х байтовое вещественное число имеет 23 разряда мантиссы (что соответствует точности числа 7-8 десятичных знаков) и 8 разрядов порядка (обеспечивающих диапазон значений 10±38). Если вещественное число занимает 10 байт, то мантиссе отводится 65 разрядов, а порядку – 14 разрядов. Это обеспечивает точность 19-20 десятичных знаков мантиссы и диапазон значений 10±4931.
Представление символьных и текстовых данных в двоичном коде.
С появлением ЭВМ возникла задача представления в цифровой форме нечисловых величин, и в первую очередь – символов, слов и текстов.
Для представления символов в числовой форме был предложен метод кодирования, получивший в дальнейшем широкое распространение и для других видов представления нечисловых данных.
В 1981 г. Институт стандартизации США принял стандарт кодовой таблицы, получившей название ASCII(AmericanStandardCodeofInformationInterchange– американский стандартный код информационного обмена). В последствии данный стандарт приобрел статус международного. Данная кодовая таблица рассчитана на объем памяти 1 байт, что позволяет закодировать 256 различных символов. Таблица состоит из 2-х частей: основной и расширенной. Основная часть (первые 127 символов) содержит: управляющие символы (коды с 1 по 31), арабские цифры, буквы латинского алфавита, знаки препинания, специальные символы (таблица 1).
Таблица 1.
Основная часть кода ASCII.
Расширенная часть (символы с кодами от 128 до 255) отделена для национальных алфавитов, символов псевдографики и некоторым специальным символам. Данная часть таблицы изменяется в зависимости от национального алфавита той страны, где она используется. 256 символов не позволяют одновременно закодировать несколько алфавитов в 1 таблице.
Поэтому в 1991 г. производители программных продуктов и организации, учреждающие стандарты, пришли к соглашению о выборе единого стандарта. Этот стандарт построен по 16 битной (или 2 байтной) схеме кодирования и получило название UNICODE. Данный стандарт позволяет закодировать 216= 65536 символов, которых достаточно для кодирования основных национальных алфавитов в одной таблице.
Рекомендуемая литература:
1.Основы современных компьютерных технологий. Артамонов Б. Н. и другие – СПб, Корона-принт, 1998. – 446 с.
2.Основы защиты информации. Герасименко В. А. и другие – М.: Изд-во МИФИ, 1997. – 537 с.
3.Статистический анализ данных на компьютере. Тюрин Ю. Н. и другие – М.: Изд-во МИФИ, 1998. – 528 с.
4.Информатика. Соболь Б. В. и другие – Ростов н/Д: Феникс, 2007. – 446 с.
5.IBMPCдля пользователя (краткий курс). Фигурнов В. Э. – М.: ИНФРА-М, 2002. – 479 с.
7
studfiles.net
Хранение в памяти целых чисел
Целые числа являются самыми простыми числовыми данными, с которыми работает компьютер. Целые числа хранятся в двух возможных видах: беззнаковом (для положительных целых чисел) и со знаком (для отрицательных чисел). Целые числа в компьютере хранятся в формате с фиксированной запятой.
Беззнаковые целые числа
Для беззнакового представления все разряды ячейки отводятся под представление самого числа. Поэтому, если известно, что число положительное, то выгоднее рассматривать его как беззнаковое.
Положительные целые числа занимают в памяти компьютера $1$ или $2$ байта.
В $1$-байтовом формате целые числа принимают значения от $0$ до $255$.
В $2$-байтовом формате от $0$ до $65535$.
Пример 1
Число $30_{10}=0001 \ 1110_2$ в $1$-байтовом формате:
Рисунок 1.
Число $30_{10}=0001 \ 1110_2$ в 2-байтовом формате:
Рисунок 2.
Алгоритм представления в компьютере беззнаковых целых чисел
Беззнаковое целое положительное число перевести в двоичную систему счисления.
Записать число в $8$ разрядах так, чтобы младший разряд числа соответствовал младшему разряду ячейки.
Дополнить число, если необходимо, слева нулями до нужного числа разрядов ($8$-ми, $16$-ти, $32$-х).
Пример 2
Получить 8-разрядное представление числа $30$.
Рисунок 3.
$30_{10}=11110_2.$
Дополним до $8$-ми разрядов:
Целые числа со знаком
Целые числа со знаком (отрицательные) занимают в памяти компьютера $1$, $2$ или $4$ байта, при этом самый старший (знаковый) разряд содержит информацию о знаке числа.
Если число положительное, то в знаковом разряде помещается $«0»$, если число отрицательное — $«1»$.
Целые числа со знаком в разных форматах принимают соответствующие значения:
в $1$-байтовом формате — от $-128$ до $127$;
в $2$-байтовом формате — от $-32768$ до $32767$;
в $4$-байтовом формате — от $-2147483648$ до $2147483647$.
Для хранения целых чисел со знаком отводится $1$ разряд для знака, а остальные — для цифр модуля числа.
Например, для хранения числа в $1$-байтовом формате ($8$ бит) $1$ разряд отводится для знака числа, остальные $7$ разрядов — для модуля числа.
Для хранения целых чисел со знаком применяется $3$ формы кода:
Особенно широко используется обратный и дополнительный код, которые позволяют существенно облегчить элементарные операции: сложение, вычитание, умножение и деление.
Положительные числа в прямом, обратном и дополнительном кодах изображают двоичными кодами с цифрой $0$ в знаковом разряде.
У положительных чисел все коды одинаковы, т.е. прямой, обратный и дополнительный коды равны между собой.
Рисунок 4.
Отрицательные числа в прямом, обратном и дополнительном кодах изображаются по-разному.
Прямой код числа — это его модуль, переведенный в двоичную систему с измененным старшим битом, в зависимости от знака.
В знаковом разряде помещается цифра $1$, а в разрядах цифровой части числа — двоичный код модуля числа.
Числа в компьютере хранятся целыми байтами; $1$, $2$, $4$ или $8$. От количества памяти зависит количество разрядов данного числа. В $1$ байте их $8$, в $2$ — $16$ и т.д. Поэтому представляемые числа нужно дополнять нулями до необходимого количества.
Рисунок 5.
Если числа будут занимать в памяти $2$ байта, то знаковым все равно будет самый старший, то есть: $-30_{10}=1001 \ 1110_2= 1000 \ 0000 \ 0001 \ 1110_2$
Обратный код. Для операций с отрицательными числами обычно не используется прямой код, поэтому для облегчения алгоритмов выполнения арифметических операций был создан обратный код.
Для получения обратного кода выполняется инвертирование всех цифр двоичного кода модуля числа: $0$ заменяется на $1$, а $1$ — на $0$. Знак разряда остается без изменений.
Рисунок 6.
Дополнительный код
Для получения дополнительного кода числа к обратному коду добавляется единица к его младшему разряду.
Рисунок 7.
Алгоритм получения дополнительного кода отрицательного числа
Модуль отрицательного числа представить прямым кодом.
Значение всех бит инвертировать: все $0$ заменить на $1$, а $1$ на $0$ (кроме значения знакового разряда).
К младшему разряду полученного обратного кода прибавить единицу.
Пример 3
Получим $8$-разрядный дополнительный код числа $-30$:
$00011110 — \ число \mid -30\mid =30$ в прямом коде
$11100001 — \ число \ -30$ в обратном коде
$11100010 — \ число \ -30$ в дополнительном коде
Замечание 1
Целые отрицательные числа при вводе в компьютер преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся и принимают участие в операциях. При выводе их из компьютера происходит обратное преобразование в отрицательные десятичные числа.
spravochnick.ru
Вещественные числа. Вещественные числа в памяти компьютера.
Доброго времени суток уважаемый пользователь. На этой страничке мы поговорим на такие темы, как: Вещественные числа, Вещественные числа в памяти компьютера.
Предположим, в компьютер встроили устройство, которое переводит числа из десятичной системы счисления в двоичную и обратно. Достаточно ли этого для представления чисел в памяти ЭВМ? Оказывается, нет. Мало научиться записывать числа, важно облегчить процесс автоматизированного выполнения арифметических действий над ними.
Вернемся к первым ЭВМ. Основным видом их «деятельности» были вычисления, но объём оперативной памяти и быстродействие процессора были невелики и инженерам приходилось придумывать разнообразные способы хранения и обработки чисел, чтобы даже сложные расчёты выполнялись за разумное время.
Вещественные числа в памяти компьютера.
Операции над целыми числами выполнять проще, но на практике измерения в целых числах встречаются не так уж часто. Поэтому для целых чисел решено было отводить один или два байта. Один байт чаще всего отводился для всевозможных счётчиков, то есть для представления целых положительных чисел.
Максимальным десятичным числом, которое можно было закодировать таким образом, было 255 в десятичной = 11111111 в двоичной = 2^8 — 1.
Для представления положительных и отрицательных целых чисел отводилось два байта (16 битов). В качестве признака, передающего знак числа, было выбрано значение старшего бита: 0 означал, что закодировано положительное число, 1 — отрицательное.
Максимальным десятичным числом, которое можно было закодировать таким образом, было 32767 в десятичной = 01111111 11111111 в двоичной =2^15. Целые без знака — это множество положительных чисел в диапазоне [0, 2к-1], где к — это разрядность ячейки памяти, выделяемой под число. Например, если под целое число выделяется ячейка памяти размером в 16 разрядов (2 байта), то самое большое число будет таким: 0111111111111111. Например, десятичное число 255 после перевода в двоичную систему счисления и вписывания в 16-разрядную ячейку памяти будет иметь следующее внутреннее представление: 0000000011111111.
Отрицательные целые числа представляются в дополнительном коде. Дополнительный код положительного числа N — это такое его двоичное представление, которое при сложении с кодом числа N дает значение 2^к. Здесь к — количество разрядов в ячейке памяти. Например, дополнительный код числа 255 будет следующим: 1111111100000001.
Это и есть представление отрицательного числа -255. Сложим коды чисел 255 и —255:
Вычитание.
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 255 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -255 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1
Единичка в старшем разряде «выпала» из ячейки, поэтому сумма получилась равной нулю. Но так и должно быть: N + (— N) = 0. Процессор компьютера операцию вычитания выполняет как сложение с дополнительным кодом вычитаемого числа. При этом переполнение ячейки (выход за предельные значения) не вызывает прерывания выполнения программы. Это обстоятельство программист обязан знать и учитывать!
С вещественными числами дело обстояло немного сложнее, поскольку надо было придумать способ, одинаковый для кодирования и больших, и маленьких чисел, то есть и миллион (1 000 000), и одну миллионную (0,000 001) хотелось бы кодировать посредством одного и того же алгоритма.
В соответствии с принципом позиционности любое десятичное число можно представить в виде произведения двух чисел, одно из которых меньше единицы, а другое представляет собой некоторую степень десяти.
Такое представление чисел называется записью с плавающей точкой (запись 123,45 — запись с фиксированной точкой). В этой записи число имеет четыре характеристики:
- Знак числа.
- Знак порядка.
- Порядок (степень числа 10).
- Мантисса (дробная часть числа).
При двоичном кодировании необходимо было все эти характеристики как-то отразить.
Максимальный порядок числа был равен 111111в двоичной = 63 в десятичной,следовательно, максимальным числом, которое можно было закодировать таким образом, было 10^63.
Формат представления вещественных чисел в компьютере называется форматом с плавающей точкой. Вещественное число R представляется в виде произведения мантиссы т на основание системы счисления п в некоторой целой степени р, которую называют порядком: R = т х п^р.
Чтобы не было неоднозначности, договорились в ЭВМ использовать нормализованное представление числа в форме с плавающей точкой. Мантисса в нормализованном представлении должна удовлетворять условию: 0,1п< т < 1я. Иначе говоря, мантисса меньше единицы и первая значащая цифра — не ноль. В некоторых случаях условие нормализации принимают следующим: 1 с индексом и < т < 10 с индексом п.
В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся). Следовательно, внутреннее представление вещественного числа сводится к представлению пары целых чисел: мантиссы и порядка.
Было решено отводить под вещественные числа 4 байта (32 бита). Три младших байта отводилось под запись мантиссы, а старший байт включал в себя:
- Один (старший) бит — знак числа: 0 — положительное,
1 — отрицательное. - Один бит — знак порядка: 0-положительный, 1-отрицательный.
- Младшие 6 битов — порядок числа.
В разных типах компьютеров применяются различные варианты представления чисел в форме с плавающей точкой. Рассмотрим один из вариантов внутреннего представления вещественного числа в четырехбайтовой ячейке памяти.
В ячейке должна содержаться следующая информация о числе: знак числа, порядок и значащие цифры мантиссы.
Машинный порядок | Мантисса |
---|---|
1-й байт. | 1-й, 2-й и 3-й байты. |
В старшем бите 1-го байта хранится знак числа: 0 обозначает плюс, 1 — минус. Оставшиеся 7 бит первого байта содержат машинный порядок. В следующих трех байтах хранятся значащие цифры мантиссы (24 разряда).
В семи двоичных разрядах помещаются двоичные числа в диапазоне от 0000000 до 1111111. Значит, машинный порядок изменяется в диапазоне от 0 до 127 (в десятичной системе счисления). Всего 128 значений. Порядок, очевидно, может быть как положительным, так и отрицательным. Разумно эти 128 значений разделить поровну между положительными и отрицательными значениями порядка: от —64 до 63.
Машинный порядок смещен относительно математического и имеет только положительные значения. Смещение выбирается так, чтобы минимальному математическому значению порядка соответствовал ноль. Связь между машинным порядком (Мр) и математическим (р) в рассматриваемом случае выражается формулой:
Мр = р + 64. Полученная формула записана в десятичной системе. В двоичной системе формула имеет вид: МР = Р +10000000.
Для записи внутреннего представления вещественного числа необходимо:
- Перевести модуль данного числа в двоичную систему счисления с 24 значащими цифрами.
- Нормализовать двоичное число.
- Найти машинный порядок в двоичной системе счисления.
- Учитывая знак числа, выписать его представление в четырехбайтовом машинном слове.
Диапазон вещественных чисел значительно шире диапазона целых чисел. Положительные и отрицательные числа расположены симметрично относительно нуля. Следовательно, максимальное и минимальное числа равны между собой по модулю.
Наименьшее по абсолютной величине число равно нулю. Наибольшее по абсолютной величине число в форме с плавающей точкой — это число с самой большой мантиссой и самым большим порядком.
Если при вычислениях с вещественными числами результат выходит за пределы допустимого диапазона, то выполнение программы прерывается. Такое происходит, например, при делении на ноль, или на очень маленькое число, близкое к нулю.
Вещественные числа, разрядность мантиссы которых превышает число разрядов, выделенных под мантиссу в ячейке памяти, представляются в компьютере приближенно (с «обрезанной» мантиссой). Например, рациональное десятичное число 0,1 в компьютере будет представлено приближенно (округленно), поскольку в двоичной системе счисления его мантисса имеет бесконечное число цифр. Следствием такой приближенности является погрешность машинных вычислений с вещественными числами.
Вычисления с вещественными числами компьютер выполняет приближенно. Погрешность таких вычислений называют погрешностью машинных округлений.
Множество вещественных чисел, точно представимых в памяти компьютера в форме с плавающей точкой, является ограниченным и дискретным. Дискретность является следствием ограниченного числа разрядов мантиссы, о чем говорилось выше.
В настоящее время, когда быстродействие процессоров и объём оперативной памяти достаточно велики, а обычной разрядностью компьютеров становится 32 или 64 бита, уже нет жёстких требований к использованию экономных кодов для записи чисел.
На этом данную статью я заканчиваю, надеюсь, вы полностью разобрались с темами: Вещественные числа, Вещественные числа в памяти компьютера.
в нормализованном представлении должна удовлетворять условию: 0,1п
more-it.ru
Числа в памяти компьютера
Разделы: Информатика
Цели урока:
I. Формирование предметной компетенции:
- Познавательные:
- дать представление о положительных и отрицательных числах в памяти компьютера;
- повторить понятия «система счисления», определение «бит»;
- повторить правила перевода чисел из двоичной СС в десятичную и наоборот.
- Практические:
- учить детей работать с инженерным калькулятором;
- учить с помощью алгоритма получать внутреннее представление отрицательных чисел.
II. Формирование метапредметных компетенций:
- Деятельностные компетенции (развивающие цели):
- познакомить с понятием «схема» и «рисунок»;
- определить отличие схемы от рисунка;
- развивать внимание, логическое мышление, умение сопоставлять и делать вывод, творческие умения.
- Социальные компетенции:
- работать в коллективе, слушать и слышать учителя, адекватно реагировать на ошибки, принимать решения.
III. Воспитательные цели:
- Вызвать интерес к изучению информатики как науке, изучающей хранение, передачу и обработку информации.
Тип урока: комбинированный урок – определяет особенности построения данного урока:
- Повторение ранее изученного материала.
- Актуализация.
- Целеполагание.
- Работа с определениями.
- Работа со схемой и рисунком.
- Практические задания на закрепление нового материала.
Оборудование, использованное учителем на уроке:
- раздаточный материал;
- АРМ учителя, проектор;
- ноутбуки.
Ход урока
Учитель: Здравствуйте, ребята. На доске представлено число и тема урока. Сегодня нам понадобятся рабочие тетради, ручки, ноутбуки.
А урок мы начнем с небольшого стихотворения (рисунок 1).
Рисунок 1
Скажите, пожалуйста, что в этом стихотворении необычного?
Ученик: Числа представлены в двоичной системе счисления.
Учитель: Что необходимо сделать, чтобы стихотворение стало понятным?
Ученик: Перевести числа из двоичной системы счисления в десятичную.
Учитель: Давайте вспомним определение системы счисления.
Ученик: Система счисления – способ записи чисел с помощью набора специальных знаков, называемых цифрами.
Рисунок 2
Учитель: Назовите основные системы счисления?
Ученик: Двоичная, десятичная, восьмеричная, шестнадцатеричная.
Рисунок 3
Учитель: Чтобы стихотворение стало понятным, переведем числа из двоичной системы счисления в десятичную (рисунок 1).
Читаем первую строчку: Ей было тысяча сто лет. Как мы переведем число из двоичной СС в десятичную. Вспомним правила перевода вместе. Вы работаете в тетрадях, а я у доски.
(Учитель на доске переводит первое число из двоичной системы счисления в десятичную.)
Итак, девочке было 12 лет.
11002 =1 * 23 + 1 * 22 + 0 * 21 + 0 * 20 = 12
Рисунок 4>
А теперь каждый из вас самостоятельно переведет все остальные числа в десятичную систему счисления (у вас есть ровно 3 минуты).
(Ученики работают в тетрадях.)
Итак, проверяем:
В какой класс ходила девочка?
Ученик: В 5 класс.
1012 =1 * 22 + 0 * 21 + 1 * 20 = 5
Рисунок 5
Учитель: Сколько книг она носила?
Ученик: 4 книги.
1002 =1 * 22 = 4
Рисунок 6
Учитель: Сколько было ног, рук, ушей и глаз у девочки?
Ученик: Конечно по 2.
102 =1 * 21 = 2
Рисунок 7
Учитель: Как вы уже поняли на практике, нам удобно пользоваться десятичной системой счисления. А компьютер работает с какими числами? (Правильно, с двоичными.)
Значит в компьютере числа представлены в виде 0 и 1.
Как принято называть нули и единицы?
Ученик: Эти два символа называются двоичными цифрами или битами.
Учитель: От каких двух английских слов произошло слово бит?
Ученик: Два символа 0 и 1 принято называть битами (от англ. binary digit – двоичный знак).
Рисунок 8
Учитель: Итак, мы с вами повторили перевод чисел из двоичной системы счисления в десятичную.
Цель дальнейшей работы: выяснить, как представлены положительные и отрицательные числа в памяти компьютера; научимся работать в инженерном калькуляторе; повторим правила перевода чисел из десятичной системы счисления в двоичную.
Итак, тема урока: «Числа в памяти компьютера».
Рисунок 9
Часть памяти, в которой хранится число, будем называть ячейкой памяти. Минимальная ячейка, которая может хранить число, состоит из 8 битов».
Минимальная ячейка памяти
для хранения – 8 битов
Рисунок 10
А сколько это будет в байтах?
Ученик: 1 байт.
Минимальная ячейка памяти
для хранения – 8 битов
8 бит = 1 байт
Рисунок 11
Учитель: Давайте представим число 25 в памяти компьютера. Что мы должны для этого сделать, как вы думаете?
Число 25
Рисунок 12
Ученик: Для этого нужно перевести число в двоичную СС и записать двоичный код числа в восьмиразрядную ячейку памяти.
Учитель: Хорошо, теперь на доске все вместе переведем число 25 из десятичной системы счисления в двоичную (учитель на доске вместе с ребятами переводят число 25).
Число 25
2510 =110012
Рисунок 13
Хорошо, вспомнили. А переведем мы число 25 в двоичную систему счисления с помощью калькулятора, который есть у каждого на столе. Поработаем в парах. Все умеют пользоваться калькулятором?
Ученики: Да.
Учитель: Итак, у нас получилось двоичное число 11001. Хорошо, а теперь впишите это число в восьмиразрядную ячейку. Число записывается прижатым к правому краю ячейки. А оставшиеся слева ячейки заполняются нулями.
Число 25
Рисунок 14
Это и есть внутреннее представление положительных чисел в компьютере.
А одинаково ли выглядят в памяти компьютера отрицательные числа?
Ученик: Нет
Учитель: А мы сейчас с вами проверим: переведите с помощью калькулятора в двоичную СС число -25. Назовите двоичное число, которое у вас получилось.
Ученик: 11100111.
2510 =000110012
-2510 = 000110012
Рисунок 15
Учитель: Значит, в памяти компьютера положительные и отрицательные числа записываются по-разному.
Как по внутреннему представлению числа понять положительное оно или отрицательное.
Ученик: По левому биту.
Учитель: Молодцы. Самый старший разряд – первый слева, хранит знак числа. Если там стоит 0, то это положительное число, если стоит 1 значит это отрицательное число.
Теперь вы можете ответить на вопрос: какое максимальное положительное двоичное число помещается в восьмибитовую ячейку?
Максимальное положительное число
в восьмибитовой ячейке
Рисунок 16
Ученик: 01111111.
Учитель: Правильно, а как это число будет выглядеть в десятичной системе счисления? Переведите на калькуляторе.
Ученик: Получилось 127.
Максимальное положительное число
в восьмибитовой ячейке
011111112 = 12710
Рисунок 17
Учитель: Мы с вами выяснили, что положительные и отрицательные числа представлены в памяти компьютера по-разному.
Посмотрите на экран, что вы видите на слайде?
Алгоритм получения дополнительного кода
отрицательных чисел на примере числа -25
Рисунок 18
Ученик: Схему.
Учитель: Хорошо. Чем отличается схема от рисунка?
Ученик: Схема – чертёж, изображающий устройство или взаимоотношение частей чего-либо. А рисунок – изображение на плоскости, созданное средствами графики.
Учитель: Хорошо, а что отражает данная схема?
Ученик: Алгоритм.
Учитель: Да, действительно перед вами алгоритм получения дополнительного кода отрицательных чисел на примере числа -25.
Алгоритм получения дополнительного кода
отрицательных чисел на примере числа -25
Рисунок 19
Определим по этим правилам внутреннее представление числа -25 в восьмиразрядной ячейки.
Внутренне представление числа 25 у нас уже есть 00011001.
Алгоритм получения дополнительного кода
отрицательных чисел на примере числа -25
Рисунок 20
Далее нам необходимо заменить все нули на единицы и наоборот 11100110
Алгоритм получения дополнительного кода
отрицательных чисел на примере числа -25
Рисунок 21
А теперь к полученному результату прибавляем 1 и получаем 11100111.
Алгоритм получения дополнительного кода
отрицательных чисел на примере числа -25
Рисунок 22
Это и есть внутренне представление отрицательного числа в памяти компьютера.
В результате выполнения такого алгоритма единица в левом бите получается автоматически. Она и является признаком отрицательного значения числа.
А теперь попробуйте самостоятельно, используя данный алгоритм, выполнить задания по карточкам, работаем в парах. У вас ровно 4 минуты. (Приложение 1).
Учитель: А теперь выполняем задания на повторение. Разбиваемся на группы, выполняем задания на карточках. Кто быстрее справится, та группа и победила (Приложение 2).
Эти все задания взяты из демонстрационных версий ЕГЭ по информатике. Как вы видите, задания достаточно легкие и очень интересные. Итак, проверяем.
(Учитель с учениками проверяют ответы.)
Итак, какую цель на уроке мы сегодня ставили?
Ученики: Выяснить, как представлены положительные и отрицательные числа в памяти компьютера; научимся работать в инженерном калькуляторе; повторим правила перевода чисел из десятичной системы счисления в двоичную.
Учитель: Мы достигли заданной цели?
Ученики: Да.
Учитель: Вы сегодня хорошо поработали на уроке. Особенно активными были…
- А теперь запишите, пожалуйста, домашнее задание:
- Параграф 17, стр. 100-105 прочитать.
- Вопросы и задания: стр. 105(1, 2, 3).
- Опредилить внутреннее представление чисел -17 и 17.
19.03.2011
urok.1sept.ru
Как представляются в компьютере целые числа?
Целые числа могут представляться в компьютере со знаком или без знака.
Целые числа без знака
Обычно занимают в памяти компьютера один или два байта. В однобайтовом формате принимают значения от 000000002до 111111112. В двубайтовом формате — от 00000000 000000002до 11111111 111111112.
Примеры:
а) число 7210= 10010002воднобайтовомформате:
б) это же число в двубайтовомформате:
в) число 65535 в двубайтовомформате:
Целые числа со знаком
Обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа.
Диапазоны значений целых чисел со знаком
Формат числа в байтах | Диапазон | |
Запись с порядком | Обычная запись | |
1 | –27… 27–1 | –128 … 127 |
2 | –215… 215–1 | –32768 … 32767 |
4 | –231… 231–1 | –2147483648 … 2147483647 |
Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отводится один разряд, а для цифр абсолютной величины – семь разрядов.
В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код. |
Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией cложения.
Положительные числав прямом, обратном и дополнительном кодах изображаются одинаково — двоичными кодами с цифрой 0 в знаковом разряде. Например:
Отрицательные числав прямом, обратном и дополнительном кодах имеют разное изображение.
1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины. Например:
2. Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями. Например:
3. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду. Например:
Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный коди в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходитобратное преобразование в отрицательные десятичные числа.
Как представляются в компьютере вещественные числа?
Система вещественных чисел в математических вычислениях предполагается непрерывной и бесконечной,т.е. не имеющей ограничений на диапазон и точность представления чисел. Однако в компьютерах числа хранятся в регистрах и ячейках памяти с ограниченным количеством разрядов. В следствие этогосистема вещественных чисел, представимых в машине, является дискретной (прерывной) и конечной.
При написании вещественных чисел в программах вместо привычной запятой принято ставить точку. Для отображения вещественных чисел, которые могут быть как очень маленькими, так и очень большими, используется форма записи чисел с порядком основания системы счисления. Например, десятичное число 1.25 в этой форме можно представить так:
1.25 .100= 0.125.101= 0.0125.102= …
или так:
12.5 .10-1= 125.0.10-2= 1250.0.10-3= … .
Любое число N в системе счисления с основанием q можно записать в виде N = M . qp, где M — множитель, содержащий все цифры числа (мантисса), а p — целое число, называемое порядком. Такой способ записи чисел называется представлением числа с плавающей точкой. |
Если “плавающая” точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине. Из этого следует:
Мантисса должна быть правильной дробью, у которой первая цифра после точки (запятой в обычной записи) отлична от нуля: 0.12 <= |M| < 1. Если это требование выполнено, то число называется нормализованным |
Мантиссу и порядок q-ичного числа принято записывать в системе с основаниемq, а само основание — в десятичной системе. Примеры нормализованного представления: Десятичная система Двоичная система 753.15 = 0.75315.103; —101.01 = —0.10101.211(порядок 112= 310) — 0.000034 = — 0.34.10-4; 0.000011 = 0.11.2-100(порядок —1002= —410).
Вещественные числа в компьютерах различных типов записываются по-разному, тем не менее, все компьютеры поддерживают несколько международных стандартных форматов, различающихся по точности, но имеющих одинаковую структуру следующего вида:
Здесь порядок n-разрядного нормализованного числа задается в так называемойсмещенной форме: если для задания порядка выделеноkразрядов, то к истинному значению порядка,представленного в дополнительном коде, прибавляют смещение, равное (2k-1— 1). Например, порядок, принимающий значения в диапазоне от —128 до +127, представляется смещенным порядком, значения которого меняются от 0 до 255.
Использование смещенной формы позволяет производить операции над порядками, как над беззнаковыми числами, что упрощает операции сравнения, сложения и вычитания порядков, а также упрощает операцию сравнения самих нормализованных чисел.
Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в машине при заданном формате.
Стандартные форматы представления вещественных чисел: 1) одинарный — 32-разрядное нормализованное число со знаком, 8-разрядным смещенным порядком и 24-разрядной мантиссой (старший бит мантиссы, всегда равный 1, не хранится в памяти, и размер поля, выделенного для хранения мантиссы, составляет только 23 разряда). 2) двойной — 64-разрядное нормализованное число со знаком, 11-разрядным смещенным порядком и 53-разрядной мантиссой (старший бит мантиссы не хранится, размер поля, выделенного для хранения мантиссы, составляет 52 разряда). 3) расширенный — 80-разрядное число со знаком, 15-разрядным смещенным порядком и 64-разрядной мантиссой. Позволяет хранить ненормализованные числа. |
Следует отметить, что вещественный формат с m-разрядной мантиссой позволяет абсолютно точно представлятьm-разрядные целые числа, т. е.любое двоичное целое число, содержащее не более m разрядов, может быть без искажений преобразовано в вещественный формат.
studfiles.net