Главное меню  

   

Авторизация  

   
   
Хостинг в Украине
   


61.3%Russian Federation Russian Federation
18.6%Ukraine Ukraine
3.2%Kazakhstan Kazakhstan
2.9%Romania Romania
2.7%United States United States
1.7%Belarus Belarus
1%Republic Of Moldova Republic Of Moldova
0.9%Czech Republic Czech Republic
0.9%United Kingdom United Kingdom
0.7%Germany Germany

Сегодня: 157
Вчера: 146
На этой неделе: 424
На прошлой неделе: 960
В этом месяце: 2656
В прошлом месяце: 2198
Всего: 7368


   

блог админа

Записи

  • Главная
    Главная Страница отображения всех блогов сайта
  • Категории
    Категории Страница отображения списка категорий системы блогов сайта.

Урок №33 Числа в памяти компьютера

Добавлено : Дата: в разделе: 9 класс

Основные темы параграфа:

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

Любая информация в памяти компьютера представляется в двоичном виде: последовательностью нулей и единиц. Исторически первым типом данных, с которыми стали работать компьютеры были числа. Теперь это и числа, и тексты, и изображение, и звук. Работа с данными любого типа в конечном счете сводится к обработке двоичных чисел — чисел, записываемых с помощью двух цифр — 0 и 1. Поэтому современные компьютерные технологииназывают цифровыми технологиями.

В компьютере различаются два типа числовых величин: целые числа и вещественные числа. Различаются способы их представления в памяти компьютера.

Представление целых чисел

Часть памяти, в которой хранится одно число, будем называть ячейкой. Минимальная ячейка, в которой может храниться целое число, имеет размер 8 битов — 1 байт. Получим представление десятичного числа 25 в такой ячейке. Для этого нужно перевести число в двоичную систему счисления. Как это делается, вы уже знаете. Результат перевода:

2510 = 110012.

Теперь осталось «вписать» его в восьмиразрядную ячейку (записать так называемое внутреннее представление числа). Делается это так:

00011001.

Число записывается «прижатым» к правому краю ячейки (в младших разрядах). Оставшиеся слева разряды (старшие) заполняются нулями.

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

01111111.

Чему он равен в десятичной системе? Можно расписать это число в развернутой форме и вычислить выражение. Но можно решить задачу быстрее. Если к младшему разряду этого числа прибавить единицу, то получится число 10000000. В десятичной системе оно равно 27 = 128. Значит:

011111112 = 128 - 1 = 127.

Максимальное целое положительное число, помещающееся в 8-разрядную ячейку, равно 127.

Теперь рассмотрим представление целых отрицательных чисел. Как, например, в 8-разрядной ячейке памяти будет представлено число -25? Казалось бы, очевидным ответом является следующий: нужно в представлении числа 25 заменить старший разряд с 0 на 1. К сожалению, в компьютере все несколько сложнее. 

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

Получить дополнительный код можно по следующему алгоритму:

1) записать внутреннее представление положительного числа X;
2) записать обратный код этого числа заменой во всех разрядах 0 на 1 и 1 на 0;
3) к полученному числу прибавить 1.

Определим по этим правилам внутреннее представление числа -2510 в 8-разрядной ячейке:

1) 00011001
2) 11100110
3)             +1
    11100111 — это и есть представление числа -25.

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

Проверим полученный результат. Очевидно, что при сложении чисел +25 и -25 должен получиться ноль.

   00011001
 +11100111
1 00000000

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

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

Представление восьмиразрядного отрицательного числа -X дополняет представление соответствующего положительного числа +Х до значения 26.

Размер ячейки к диапазон значений чисел

Наибольшее по модулю отрицательное значение в 8-разрядной ячейке равно -27 = -128.  Его внутреннее представление: 10000000. Таким образом, диапазон представления целых чисел в восьмиразрядной ячейке следующий:

-128 < X < 127, или -27 < X < 27 - 1.

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

-215 <X < 215 - 1, или -32 768 < X < 32 767.

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

-2N-1 < X < 2N-1-1.

Диапазон для 32-разрядной ячейки получается достаточно большим:

-231 < Х < 231 - 1, или
-2 147 483 648 < X < 2 147 483 647.

Особенности работы компьютера с целыми числами

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

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

Целые и дробные числа в совокупности называются вещественными числами. В математике также используется термин «действительные числа». Решение большинства математических задач сводится к вычислениям с вещественными числами.

Всякое вещественное число (X) можно записать в виде произведения мантиссы m и основания системы счисления р в некоторой целой степени n, которую называют порядком:

X = m · рn.

Например, число 25,324 можно записать в таком виде: 0,25324 · 102. Здесь m = 0,25324 — мантисса, n = 2 — порядок. Порядок указывает, на какое количество позиций и в каком направлении должна сместиться десятичная запятая в мантиссе.

Чаще всего для хранения вещественных чисел в памяти компьютера используется либо 32-разрядная, либо 64-разрядная ячейка. Первый вариант называется представлением с обычной точностью, второй — представлением с удвоенной точностью. В ячейке хранятся два числа в двоичной системе счисления: мантисса и порядок. Здесь мы не будем подробно рассматривать правила представления вещественных чисел. Отметим лишь основные следствия, вытекающие из этих правил, которые важно знать пользователю компьютера, занимающемуся математическими вычислениями.

Особенности работы компьютера с вещественными числами

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

-3,4 · 1038 < X < 3,4 · 1038.

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

Коротко о главном

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

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

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

Вещественные числа представляются в виде совокупности мантиссы и порядка в двоичной системе счисления. Обычный размер ячейки — 32 или 64 бита.

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

Вопросы и задания

1. Как в памяти компьютера представляются целые положительные и отрицательные числа?
2. Укажите, каков был бы диапазон значений целых чисел, если бы для их хранения использовалась 4-разрядная ячейка.
3. Запишите внутреннее представление следующих десятичных чисел, используя 8-разрядную ячейку.
а) 32; б) -32; в) 102; г) -102; д) 126; е) -126.
4. Определите, каким десятичным числам соответствуют следующие двоичные коды 8-разрядного представления целых чисел.
а) 00010101; б) 11111110; в) 00111111; г) 10101010.

Домашнее задание №13

Редактировалось Дата:

You have no rights to post comments

   
© 2012 fordus.