SlideShare a Scribd company logo
1 of 31
Представление чисел в
памяти компьютера.
Долинин А.А., учитель информатики и ИКТ
МБОУ «Уренская СОШ № 1»
ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ
Любая информация в ЭВМ представляется в виде двоичных кодов. Отдельные
элементы двоичного кода, принимающие значение 0 или 1, называют разрядами или
битами. Память компьютера условно делиться на отсеки или ячейки, каждая из которых
имеет свой номер. Нумерация начинается с нуля.
Минимальной адресуемой ячейкой памяти называется байт – 8 двоичных
разрядов. порядковый номер байта называется его адресом.
Наибольшую последовательность битов, которую процессор может обрабатывать
как единое целое, называют машинным словом.
Длина машинного слова может быть разной - 8 , 16 , 32 бит и т.д. Двоичные
разряды в любой ячейке памяти нумеруются справа налево, начиная с нуля.
Для положительных и отрицательных чисел существует знаковый способ
представления числа. Под знак отводится старший разряд ячейки:
0 - для положительных чисел,
1 - для отрицательных чисел.
Целые числа
• Представление чисел в формате с
фиксированной запятой
Дробные числа
• представление числа в формате с
плавающей точкой используется для
задания некоторого подмножества
действительных чисел
Два основных формата
представления чисел
ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ
В ФОРМАТЕ С ФИКСИРОВАННОЙ ЗАПЯТОЙ
Целые числа в компьютере хранятся в памяти в формате
с фиксированной запятой.
При хранении чисел в памяти в формате с фиксированной запятой каждому
разряду ячейки памяти соответствует всегда один и тот же разряд числа, а
запятая находится справа после младшего разряда, т.е. вне разрядной сетки.
Достоинства:
• простота и наглядность представления чисел;
• простота алгоритмов реализации арифметических операций (вычитание
заменяется сложением).
Недостаток:
• конечный диапазон представления величин, недостаточный для
решения задач, в которых используются очень малые и/или очень большие
числа.
0 0 0 0 1 0 1 01010=10102
ЦЕЛЫЕ НЕОТРИЦАТЕЛЬНЫЕ ЧИСЛА
Для хранения целых неотрицательных чисел отводится
одна ячейка памяти (8 битов).
Минимальное число:
Максимальное число:
Для n-разрядного представления максимальное целое
неотрицательное число равно 2n – 1.
Минимальное число равно 0.
Максимальное число равно 25510.
111111112 = 1000000002 -1 = 28 – 1 = 25510
Диапазон изменения целых неотрицательных чисел от 0 до 255.
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
Представление в компьютере положительных чисел
с использованием формата «знак-величина» называется
прямым кодом числа.
Старший (левый) разряд отводится под знак числа:
0 – положительное число,
1 – отрицательное число.
Для хранения целых чисел со знаком отводится
две ячейки памяти (16 битов).
Для хранения больших целых чисел со знаком отводится
четыре ячейки памяти (32 бита).
1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
0 0 1 1 1 1 1 1
ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
Для n-разрядного представления со знаком (с учетом выделения
одного разряда на знак):
максимальное положительное число равно 2n-1 – 1,
минимальное отрицательное число равно – 2n-1
Диапазон хранения
целых чисел со знаком
от – 32 768 до 32 767.
Диапазон хранения
больших целых чисел со знаком
от – 2 147 483 648 до 2 147 483 647.
А10 = 215 – 1 = 3276710
А10 = – 215 = – 3276810
А10 = 231 – 1 = 2 147 483 647 10
А10 = – 231 = – 2 147 483 648 10
ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
3 +(-3) = 0
1 0 0 0 0 1 1 0 ≠ 0
1 0 0 0 0 0 1 1
0 0 0 0 0 0 1 1
ДОПОЛНИТЕЛЬНЫЙ КОД
Для представления отрицательных чисел используется
дополнительный код, позволяющий заменить арифметическую
операцию вычитания операцией сложения.
Дополнительный код представляет собой
дополнение модуля числа А до 0.
Дополнительный код отрицательного числа А,
хранящегося в n ячейках, равен 2n - |А|.
Это равенство тождественно справедливо, так как в компьютерной
n-разрядной арифметике 2n ≡ 0.
Действительно, двоичная запись числа 2n состоит из одной единицы и n
нулей, а в n-разрядную ячейку может уместиться только n младших
разрядов, т.е. n нулей. 28=100000000
0 0 0 0 0 0 0 0
2n - |А| + |А| = 0
ДОПОЛНИТЕЛЬНЫЙ КОД
Найдём дополнительный код отрицательного числа –200210 при n=16:
2n 216 = 1 00000000 000000002 6553610
|А| 200210 = 00000111 110100102 200210
2n - |А| 216- |200210| = 11111000 001011102 6353410
1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 0
0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2n - |А|
|А|
1
2n - |А| + |А| = 0
2n - |А|
АЛГОРИТМ ПОЛУЧЕНИЯ
ДОПОЛНИТЕЛЬНОГО КОДА
Алгоритм получения дополнительного кода отрицательного
числа:
1. Модуль числа записать прямым кодом в n двоичных
разрядах.
2. Получить обратный код числа, для этого значения
всех битов инвертировать.
3. К полученному обратному коду прибавить единицу.
Прямой код |-200210| 00000111 110100102
Обратный код Инвертирование 11111000 001011012
Прибавление единицы 11111000 001011012
00000000 000000012
Дополнительный код 11111000 001011102
Найдём дополнительный код отрицательного числа –200210 при
n=16:
+
ВЫПОЛНЕНИЕ
АРИФМЕТИЧЕСКОГО ДЕЙСТВИЯ
Выполнить арифметическое действие 2010 – 3010 в 16-разрядном
компьютерном представлении.
00000000 000101002
11111111 111000102
11111111 111101102
Десятичное
число
Прямой код Обратный код Дополнительный код
20 00000000 000101002
-30 00000000 000111102 11111111 111000012 11111111 111000012
00000000 000000012
11111111 111000102
2010 – 3010  11111111 111101102
+
+
Дополнительный код
ПЕРЕВОД ДОПОЛНИТЕЛЬНОГО КОДА В ДЕСЯТИЧНОЕ ЧИСЛО
В 16-разрядном компьютерном представлении
2010 – 3010  11111111 111101102
Переведем полученный дополнительный код в десятичное число:
1. Инвертируем дополнительный код:
00000000 00001001
2. К полученному коду прибавим 1 (получим модуль
отрицательного числа):
00000000 00001010
3. Переведем в десятичное число и припишем знак
отрицательного числа: -10
ПЕРЕВОД
ДОПОЛНИТЕЛЬНОГО КОДА В ДЕСЯТИЧНОЕ ЧИСЛО
В 16-разрядном компьютерном представлении
2010 – 3010  11111111 111101102
Переведем полученный дополнительный код в десятичное число:
1. Отнимем 1 от дополнительного кода:
11111111 11110101
2. Инвертируем полученное число:
00000000 00001010
3. Переведем в десятичное число и припишем знак
отрицательного числа: -10
Почему не применяется данный метод перевода
дополнительного кода в десятичное число?
ПРАКТИКУМ
Задача. Найти минимальное отрицательное число в 8-разрядном
компьютерном представлении
1 0 0 0 0 0 0 0
Переведем дополнительный код 1000000 в десятичное число:
1. Инвертируем дополнительный код: 01111111
2. К полученному коду прибавим 1 (получим модуль отрицательного
числа): 10000000
3. Переведем в десятичное число и припишем знак отрицательного
числа: -128
Для n-разрядного представления со знаком минимальное отрицательное число равно –2n-1
ПРАКТИКУМ
Задача. Найти максимальное отрицательное число в 8-разрядном
компьютерном представлении
1 1 1 1 1 1 1 1
Переведем дополнительный код 11111111 в десятичное число:
1. Инвертируем дополнительный код: 00000000
2. К полученному коду прибавим 1 (получим модуль отрицательного
числа): 00000001
3. Переведем в десятичное число и припишем знак отрицательного
числа: -1
Выполняя на компьютере вычисления с целыми
числами, нужно помнить
об ограниченности диапазона
допустимых значений.
Выход результата за границы
допустимого диапазона называется
переполнением.
Переполнение при вычислениях с целыми
числами не вызывает прерывания работы
процессора, но результаты могут
оказаться неправильными.
ОСОБЕННОСТИ РАБОТЫ
С ЦЕЛЫМИ ЧИСЛАМИ
ПРАКТИКУМ
Задача. Компьютер работает только с целыми числами,
представленными в однобайтовой ячейке памяти. Какое
значение будет получено в результате вычисления
значения арифметического выражения 100+39?
Переведем в десятичное число
и припишем знак отрицательного числа:
Решение:
Внутреннее представление числа 100: 01100100
Внутреннее представление числа 39: 00100111
Внутреннее представление суммы 100+39: 10001011
Знаковый разряд равен 1, значит число отрицательное.
Инвертируем код: 01110100
Прибавим 1: 01110101
-117
Переполнение привело к неправильному результату!
Представление чисел
в формате
с плавающей запятой
ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ В ФОРМАТЕ
С ПЛАВАЮЩЕЙ ЗАПЯТОЙ
Вещественные числа хранятся и обрабатываются в компьютере в
формате с плавающей запятой
(положение запятой в записи числа может изменяться).
Формат чисел с плавающей запятой базируется на экспоненциальной
форме записи:
А = m  qn,
где m – мантисса числа,
q – основание системы счисления,
n – порядок числа.
Для однозначности представления чисел с плавающей запятой
используется нормализованная форма, при которой мантисса отвечает
условию:
1/n ≤ |m| < 1,
т.е. мантисса должна быть правильной дробью и иметь после запятой
цифру, отличную от нуля.
ПРИВЕДЕНИЕ ЧИСЛА С ПЛАВАЮЩЕЙ ЗАПЯТОЙ К
НОРМАЛИЗОВАННОЙ ФОРМЕ
Диапазон изменения чисел определяется количеством разрядов, отведенных
для хранения порядка числа,
а точность (количество значащих цифр) определяется количеством разрядов,
отведенных для хранения мантиссы.
Преобразуем десятичное число 888,888 в экспоненциальную форму с
нормализованной мантиссой:
888,888 = 0,888888  103
Число в форме с плавающей запятой занимает в памяти компьютера
четыре байта (число обычной точности) или восемь байтов (число двойной
точности).
Нормализованная мантисса m = 0,888888, порядок n = 3.
При записи числа с плавающей запятой выделяются разряды для
хранения знака мантиссы, знака порядка, порядка и мантиссы.
ОПРЕДЕЛЕНИЕ МАКСИМАЛЬНОГО ЧИСЛА
И ЕГО ТОЧНОСТИ
Максимальное значение порядка числа составит 11111112 = 12710,
следовательно, максимальное число:
2127 = 1,7014118346046923173168730371588  1038.
Максимальное значение положительной мантиссы:
223 – 1 ≈ 223 = 2(102,3) ≈ 10002,3 = 10(32,3) ≈ 107.
Максимальное значение чисел обычной точности с учетом возможной
точности вычислений составит 1,701411  1038, т.к. количество значащих цифр
десятичного числа ограничено 7 разрядами).
Задача. Определить максимальное число и его точность для формата
чисел обычной точности, если для хранения порядка и его знака отводится
8 разрядов, а для хранения мантиссы и ее знака – 24 разряда.
0 1 1 1 1 1 1 1
знак и порядок
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
знак и мантисса
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ С ЧИСЛАМИ
В ФОРМАТЕ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ
При сложении и вычитании чисел в формате с
плавающей запятой сначала производится
выравнивание порядков (меньший по
модулю порядок числа увеличивается до
величины большего по модулю порядка числа,
а мантисса уменьшается в такое же количество
раз), а затем сложение или вычитание
мантисс.
При умножении чисел в формате с плавающей
запятой порядки складываются, а
мантиссы перемножаются.
При делении из порядка делимого
вычитается порядок делителя, а
мантисса делится на мантиссу делителя.
После выполнения арифметической операции производится нормализация.
Выполнить арифметические операции с числами 0,1  25 и 0,1  23.
0,100  25
0,001  25
0,101  25
+
0,100  25
0,001  25
0,011  25 = 0,11  24
-
0,1  25
0,1  23
0,01  28 = 0,1  27

0,1  25
0,1  23
1  22 = 0,1  23

Пример 1. Как будет представлено в памяти компьютера целое число 1234510 ?
Решение
Для размещения числа возьмем два байта.
Поскольку число положительное, то в старшем (15-м) бите будет 0.
Переведем число в двоичную систему счисления:
1234510 = 110000001110012.
Результат:
0 0110000 00111001
Знак числа число
ПРАКТИКУМ
Пример 2.
Как будет представлено в памяти компьютера число —123,4510 ?
Решение
Представим число в 4 байтах.
Нормализованный вид: -0,12345∙103 .
Число отрицательное, поэтому старшим (31-й) бит равен 1.
Порядок равен 3, он положительный, значит, З0-й бит равен 0.
Число 3 в двоичной системе счисления имеет вид 11. Чтобы записать его в
оставшихся 6 битах старшего байта, необходимо добавить незначащие нули.
Таким образом, старший байт имеет вид: 10000011 .
Найдем двоичное представление мантиссы 0,12345 по алгоритму перевода дробной
части, 24 раза умножив ее на 2.
Результат:
Пример 2. Раскодировать содержимое четырех байтов памяти: а) как два целых
числа; б) как одно вещественное:
Решение
а) 17793;-128;
б) приблизительно 0,5058593 • 10-3 (порядок записан в дополнительном коде).
01000101 10000001 10000000 10000000
Пример 3.
Записать внутреннее представление числа 250,1875 в форме с плавающей
точкой в 4-х байтовом машинном слове.
Решение:
1. Переведем число в двоичную систему счисления с 24 значащими
цифрами (3 байта под мантиссу):
250.187510= 11111010,00110000000000002.
2. Запишем в форме нормализованного двоичного числа с плавающей
точкой: 0,111110100011000000000000∙101000
2. Здесь мантисса, основание
системы счисления (210 = 102) и порядок (810 = 10002) записаны в двоичной
системе.
3. Вычислим характеристику: S2 =1000 + 1000000 = 1001000.
4. Запишем представление числа в 4-байтовой ячейке памяти с учетом
знака числа:
Шестнадцатеричная форма: 48FA3000.
0 1001000 11111010 00110000 00000000
Задания для самостоятельного выполнения
1. Запишите прямые коды десятичных чисел в однобайтовом формате:
а) 64 б) 58 в) 72 г) -96
2. Запишите двоичные числа в дополнительном коде:
а) 1010 б) -1001 в) -11 г) -11011
3. Переведите в прямой код числа, записанные в дополнительном коде, и
найдите их десятичные эквиваленты:
а) 00000100 б) 11111001
4. Представьте целые числа в 16-разрядной ЭВМ:
а) 25 б) -25 в) 801 г) -610
Задания для самостоятельного выполнения
1. Сравните числа:
а) 318,4785∙109 и 3,184785∙1011; б) 218,4785∙10-3 и 1847,85∙10-4;
2. Запишите числа в естественной форме:
а) 0,1100000∙2100; б) 0,1001111∙2-111;
3. Выполните действия:
а) 0,101010∙211 + 0,110011∙2100;
б) 0,100011∙2100 – 0,100001∙2100;
в) 0,110011∙2-10 * 0,100001∙21;
г) 0,101001∙210 / 0,100000∙210.
СЛОЖЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ
ЗАПЯТОЙ
Выполнение арифметических действий над числами с плавающей запятой
гораздо сложнее целочисленной арифметики. Для некоторых процессоров (в
частности Intel) операции над вещественными числами вынесены в отдельный
узел, который называют математическим сопроцессором.
Сложение чисел с плавающей запятой выполняется в соответствии со
следующим алгоритмом.
1. Представить числа А и В в нормализованном виде, записав отдельно
значения мантисс и порядков.
2. Выровнять порядки по числу с большим порядком.
3. Выровнять число цифр в мантиссах по числу, порядок которого не
изменился.
4. Сложить числа.
5. Нормализовать сумму, оставив число цифр в мантиссе таким, как у
числа, порядок которого не изменялся.
Пример. Найти сумму чисел А = 9,6098 и В = 98,009 по правилу сложения
чисел с плавающей запятой.
Решение:
Результат представим в виде таблицы:
Шаг Число Нормализованное число Порядок Мантисса Число
цифр в
мантиссе
1 А=9,6098 0,96098∙101 1 96098 5
В=98,009 0,98009∙102 2 98009 5
2 А 0,096098∙102 2 096098 6
3 А 0,09609∙102 2 09609 5
4 А+В 1,07618∙102 2 - -
5 А+В 0,101761∙103 3 10761 5

More Related Content

What's hot

Презентация на тему: Подготовка к единому экзамену по информатике в 9 классе
Презентация на тему: Подготовка к единому экзамену по информатике в 9 классеПрезентация на тему: Подготовка к единому экзамену по информатике в 9 классе
Презентация на тему: Подготовка к единому экзамену по информатике в 9 классе2berkas
 
Кодирование информации
Кодирование информацииКодирование информации
Кодирование информацииAndrey Dolinin
 
лекция 8 арифметические операции информатика
лекция 8 арифметические операции информатикалекция 8 арифметические операции информатика
лекция 8 арифметические операции информатикаGulnaz Shakirova
 
лекция 8 арифметические операции информатика
лекция 8 арифметические операции информатикалекция 8 арифметические операции информатика
лекция 8 арифметические операции информатикаGulnaz Shakirova
 
машинные коды
машинные кодымашинные коды
машинные коды18MILAN99
 
системысчисления 2
системысчисления 2системысчисления 2
системысчисления 2guchina
 
Числа в памяти компьютера
Числа в памяти компьютераЧисла в памяти компьютера
Числа в памяти компьютераNickEliot
 
012
012012
012JIuc
 
06
0606
06JIuc
 
11
1111
11JIuc
 
04
0404
04JIuc
 
555.математика и информатика в 2 частях часть 2 практикум
555.математика и информатика в 2 частях часть 2 практикум555.математика и информатика в 2 частях часть 2 практикум
555.математика и информатика в 2 частях часть 2 практикумefwd2ws2qws2qsdw
 
системы счисления
системы счислениясистемы счисления
системы счисленияГимназия
 
8 класс 2 урок система счисление
8 класс 2 урок система счисление8 класс 2 урок система счисление
8 класс 2 урок система счислениеАйбек Қуандықұлы
 
Nikolay Shilov. CSEDays 1
Nikolay Shilov. CSEDays 1Nikolay Shilov. CSEDays 1
Nikolay Shilov. CSEDays 1LiloSEA
 
Презентация на тему: Информатика и ИКТ. ЕГЭ 2012
Презентация на тему: Информатика и ИКТ. ЕГЭ 2012Презентация на тему: Информатика и ИКТ. ЕГЭ 2012
Презентация на тему: Информатика и ИКТ. ЕГЭ 20122berkas
 

What's hot (19)

Презентация на тему: Подготовка к единому экзамену по информатике в 9 классе
Презентация на тему: Подготовка к единому экзамену по информатике в 9 классеПрезентация на тему: Подготовка к единому экзамену по информатике в 9 классе
Презентация на тему: Подготовка к единому экзамену по информатике в 9 классе
 
системы счисления
системы счислениясистемы счисления
системы счисления
 
Кодирование информации
Кодирование информацииКодирование информации
Кодирование информации
 
лекция 8 арифметические операции информатика
лекция 8 арифметические операции информатикалекция 8 арифметические операции информатика
лекция 8 арифметические операции информатика
 
лекция 8 арифметические операции информатика
лекция 8 арифметические операции информатикалекция 8 арифметические операции информатика
лекция 8 арифметические операции информатика
 
машинные коды
машинные кодымашинные коды
машинные коды
 
системысчисления 2
системысчисления 2системысчисления 2
системысчисления 2
 
Числа в памяти компьютера
Числа в памяти компьютераЧисла в памяти компьютера
Числа в памяти компьютера
 
012
012012
012
 
9
99
9
 
06
0606
06
 
двоичная система счисления
 двоичная система счисления двоичная система счисления
двоичная система счисления
 
11
1111
11
 
04
0404
04
 
555.математика и информатика в 2 частях часть 2 практикум
555.математика и информатика в 2 частях часть 2 практикум555.математика и информатика в 2 частях часть 2 практикум
555.математика и информатика в 2 частях часть 2 практикум
 
системы счисления
системы счислениясистемы счисления
системы счисления
 
8 класс 2 урок система счисление
8 класс 2 урок система счисление8 класс 2 урок система счисление
8 класс 2 урок система счисление
 
Nikolay Shilov. CSEDays 1
Nikolay Shilov. CSEDays 1Nikolay Shilov. CSEDays 1
Nikolay Shilov. CSEDays 1
 
Презентация на тему: Информатика и ИКТ. ЕГЭ 2012
Презентация на тему: Информатика и ИКТ. ЕГЭ 2012Презентация на тему: Информатика и ИКТ. ЕГЭ 2012
Презентация на тему: Информатика и ИКТ. ЕГЭ 2012
 

Similar to представление чисел в памяти компьютера

представление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятойпредставление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятойtanamukina
 
Представление информации в компьютере
Представление информации в компьютереПредставление информации в компьютере
Представление информации в компьютереAndrey Dolinin
 
лекция 8 арифметические операции информатика
лекция 8 арифметические операции информатикалекция 8 арифметические операции информатика
лекция 8 арифметические операции информатикаGulnaz Shakirova
 
Kod chisl
Kod chislKod chisl
Kod chisltexnic
 
лекция 4 системы счисления информатика
лекция 4 системы счисления информатикалекция 4 системы счисления информатика
лекция 4 системы счисления информатикаGulnaz Shakirova
 
9 класс ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ
9 класс ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ9 класс ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ
9 класс ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕleskonog
 
03
0303
03JIuc
 
Кодирование информации
Кодирование информацииКодирование информации
Кодирование информацииryabuha
 
Кодирование информации
Кодирование информацииКодирование информации
Кодирование информацииryabuha
 
правила перевода чисел в позиционных системах счисления
правила перевода чисел в  позиционных системах  счисленияправила перевода чисел в  позиционных системах  счисления
правила перевода чисел в позиционных системах счисленияAndrey Dolinin
 
2010 егэ часть А
2010 егэ часть А2010 егэ часть А
2010 егэ часть Аfinatalya
 
3 системы счисления
3 системы счисления3 системы счисления
3 системы счисленияNatalia Khokhlova
 
системы счисления
системы счислениясистемы счисления
системы счисленияMarinaPetrova017
 
системы счисления
системы счислениясистемы счисления
системы счисленияkozarezov_vi
 
системы счисления
системы счислениясистемы счисления
системы счисленияkozarezov
 
системы счисления
системы счислениясистемы счисления
системы счисленияkozarezov94
 
Jo`rayev muxlis
Jo`rayev muxlisJo`rayev muxlis
Jo`rayev muxlismlsbek
 
Перевод из различных систем счисления в другие
Перевод из различных систем счисления в другиеПеревод из различных систем счисления в другие
Перевод из различных систем счисления в другиеАлександра Мамай
 

Similar to представление чисел в памяти компьютера (20)

представление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятойпредставление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятой
 
Представление информации в компьютере
Представление информации в компьютереПредставление информации в компьютере
Представление информации в компьютере
 
лекция 8 арифметические операции информатика
лекция 8 арифметические операции информатикалекция 8 арифметические операции информатика
лекция 8 арифметические операции информатика
 
Kod chisl
Kod chislKod chisl
Kod chisl
 
лекция 4 системы счисления информатика
лекция 4 системы счисления информатикалекция 4 системы счисления информатика
лекция 4 системы счисления информатика
 
9 класс ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ
9 класс ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ9 класс ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ
9 класс ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ
 
03
0303
03
 
Кодирование информации
Кодирование информацииКодирование информации
Кодирование информации
 
Кодирование информации
Кодирование информацииКодирование информации
Кодирование информации
 
правила перевода чисел в позиционных системах счисления
правила перевода чисел в  позиционных системах  счисленияправила перевода чисел в  позиционных системах  счисления
правила перевода чисел в позиционных системах счисления
 
Test
TestTest
Test
 
2010 егэ часть А
2010 егэ часть А2010 егэ часть А
2010 егэ часть А
 
3 системы счисления
3 системы счисления3 системы счисления
3 системы счисления
 
системы счисления
системы счислениясистемы счисления
системы счисления
 
10
1010
10
 
системы счисления
системы счислениясистемы счисления
системы счисления
 
системы счисления
системы счислениясистемы счисления
системы счисления
 
системы счисления
системы счислениясистемы счисления
системы счисления
 
Jo`rayev muxlis
Jo`rayev muxlisJo`rayev muxlis
Jo`rayev muxlis
 
Перевод из различных систем счисления в другие
Перевод из различных систем счисления в другиеПеревод из различных систем счисления в другие
Перевод из различных систем счисления в другие
 

More from Andrey Dolinin

правила сетевого этикета
правила сетевого этикетаправила сетевого этикета
правила сетевого этикетаAndrey Dolinin
 
история вычислительной техники
история вычислительной техникиистория вычислительной техники
история вычислительной техникиAndrey Dolinin
 
информационная культура
информационная культураинформационная культура
информационная культураAndrey Dolinin
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасностьAndrey Dolinin
 
логика к.поляков
логика к.поляковлогика к.поляков
логика к.поляковAndrey Dolinin
 
история логики и основные логические операции
история логики и основные логические операцииистория логики и основные логические операции
история логики и основные логические операцииAndrey Dolinin
 
12. задача о напитках
12. задача о напитках12. задача о напитках
12. задача о напиткахAndrey Dolinin
 
12. планируем работу в графическом редакторе
12. планируем работу в графическом редакторе12. планируем работу в графическом редакторе
12. планируем работу в графическом редактореAndrey Dolinin
 
12. обработка информации
12. обработка информации12. обработка информации
12. обработка информацииAndrey Dolinin
 
11. компьютерная графика
11. компьютерная графика11. компьютерная графика
11. компьютерная графикаAndrey Dolinin
 
10 наглядные формы представления информации
10 наглядные формы представления информации10 наглядные формы представления информации
10 наглядные формы представления информацииAndrey Dolinin
 
9.1 представление информации с помощью таблиц
9.1 представление информации с помощью таблиц9.1 представление информации с помощью таблиц
9.1 представление информации с помощью таблицAndrey Dolinin
 

More from Andrey Dolinin (20)

23 24-211220132336
23 24-21122013233623 24-211220132336
23 24-211220132336
 
правила сетевого этикета
правила сетевого этикетаправила сетевого этикета
правила сетевого этикета
 
история вычислительной техники
история вычислительной техникиистория вычислительной техники
история вычислительной техники
 
информационная культура
информационная культураинформационная культура
информационная культура
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
 
Javascript 1
Javascript 1Javascript 1
Javascript 1
 
Css
CssCss
Css
 
логика к.поляков
логика к.поляковлогика к.поляков
логика к.поляков
 
история логики и основные логические операции
история логики и основные логические операцииистория логики и основные логические операции
история логики и основные логические операции
 
Microsoft access 2007
Microsoft access 2007Microsoft access 2007
Microsoft access 2007
 
Microsoft excel 2007
Microsoft excel 2007Microsoft excel 2007
Microsoft excel 2007
 
Word
WordWord
Word
 
Microsoft word 2007
Microsoft word 2007Microsoft word 2007
Microsoft word 2007
 
Microsoft access 2007
Microsoft access 2007Microsoft access 2007
Microsoft access 2007
 
12. задача о напитках
12. задача о напитках12. задача о напитках
12. задача о напитках
 
12. планируем работу в графическом редакторе
12. планируем работу в графическом редакторе12. планируем работу в графическом редакторе
12. планируем работу в графическом редакторе
 
12. обработка информации
12. обработка информации12. обработка информации
12. обработка информации
 
11. компьютерная графика
11. компьютерная графика11. компьютерная графика
11. компьютерная графика
 
10 наглядные формы представления информации
10 наглядные формы представления информации10 наглядные формы представления информации
10 наглядные формы представления информации
 
9.1 представление информации с помощью таблиц
9.1 представление информации с помощью таблиц9.1 представление информации с помощью таблиц
9.1 представление информации с помощью таблиц
 

представление чисел в памяти компьютера

  • 1. Представление чисел в памяти компьютера. Долинин А.А., учитель информатики и ИКТ МБОУ «Уренская СОШ № 1»
  • 2. ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ Любая информация в ЭВМ представляется в виде двоичных кодов. Отдельные элементы двоичного кода, принимающие значение 0 или 1, называют разрядами или битами. Память компьютера условно делиться на отсеки или ячейки, каждая из которых имеет свой номер. Нумерация начинается с нуля. Минимальной адресуемой ячейкой памяти называется байт – 8 двоичных разрядов. порядковый номер байта называется его адресом. Наибольшую последовательность битов, которую процессор может обрабатывать как единое целое, называют машинным словом. Длина машинного слова может быть разной - 8 , 16 , 32 бит и т.д. Двоичные разряды в любой ячейке памяти нумеруются справа налево, начиная с нуля.
  • 3. Для положительных и отрицательных чисел существует знаковый способ представления числа. Под знак отводится старший разряд ячейки: 0 - для положительных чисел, 1 - для отрицательных чисел. Целые числа • Представление чисел в формате с фиксированной запятой Дробные числа • представление числа в формате с плавающей точкой используется для задания некоторого подмножества действительных чисел Два основных формата представления чисел
  • 4. ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ В ФОРМАТЕ С ФИКСИРОВАННОЙ ЗАПЯТОЙ Целые числа в компьютере хранятся в памяти в формате с фиксированной запятой. При хранении чисел в памяти в формате с фиксированной запятой каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа, а запятая находится справа после младшего разряда, т.е. вне разрядной сетки. Достоинства: • простота и наглядность представления чисел; • простота алгоритмов реализации арифметических операций (вычитание заменяется сложением). Недостаток: • конечный диапазон представления величин, недостаточный для решения задач, в которых используются очень малые и/или очень большие числа. 0 0 0 0 1 0 1 01010=10102
  • 5. ЦЕЛЫЕ НЕОТРИЦАТЕЛЬНЫЕ ЧИСЛА Для хранения целых неотрицательных чисел отводится одна ячейка памяти (8 битов). Минимальное число: Максимальное число: Для n-разрядного представления максимальное целое неотрицательное число равно 2n – 1. Минимальное число равно 0. Максимальное число равно 25510. 111111112 = 1000000002 -1 = 28 – 1 = 25510 Диапазон изменения целых неотрицательных чисел от 0 до 255. 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
  • 6. ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ Представление в компьютере положительных чисел с использованием формата «знак-величина» называется прямым кодом числа. Старший (левый) разряд отводится под знак числа: 0 – положительное число, 1 – отрицательное число. Для хранения целых чисел со знаком отводится две ячейки памяти (16 битов). Для хранения больших целых чисел со знаком отводится четыре ячейки памяти (32 бита). 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1
  • 7. ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ Для n-разрядного представления со знаком (с учетом выделения одного разряда на знак): максимальное положительное число равно 2n-1 – 1, минимальное отрицательное число равно – 2n-1 Диапазон хранения целых чисел со знаком от – 32 768 до 32 767. Диапазон хранения больших целых чисел со знаком от – 2 147 483 648 до 2 147 483 647. А10 = 215 – 1 = 3276710 А10 = – 215 = – 3276810 А10 = 231 – 1 = 2 147 483 647 10 А10 = – 231 = – 2 147 483 648 10
  • 8. ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ 3 +(-3) = 0 1 0 0 0 0 1 1 0 ≠ 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1
  • 9. ДОПОЛНИТЕЛЬНЫЙ КОД Для представления отрицательных чисел используется дополнительный код, позволяющий заменить арифметическую операцию вычитания операцией сложения. Дополнительный код представляет собой дополнение модуля числа А до 0. Дополнительный код отрицательного числа А, хранящегося в n ячейках, равен 2n - |А|. Это равенство тождественно справедливо, так как в компьютерной n-разрядной арифметике 2n ≡ 0. Действительно, двоичная запись числа 2n состоит из одной единицы и n нулей, а в n-разрядную ячейку может уместиться только n младших разрядов, т.е. n нулей. 28=100000000 0 0 0 0 0 0 0 0 2n - |А| + |А| = 0
  • 10. ДОПОЛНИТЕЛЬНЫЙ КОД Найдём дополнительный код отрицательного числа –200210 при n=16: 2n 216 = 1 00000000 000000002 6553610 |А| 200210 = 00000111 110100102 200210 2n - |А| 216- |200210| = 11111000 001011102 6353410 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2n - |А| |А| 1 2n - |А| + |А| = 0 2n - |А|
  • 11. АЛГОРИТМ ПОЛУЧЕНИЯ ДОПОЛНИТЕЛЬНОГО КОДА Алгоритм получения дополнительного кода отрицательного числа: 1. Модуль числа записать прямым кодом в n двоичных разрядах. 2. Получить обратный код числа, для этого значения всех битов инвертировать. 3. К полученному обратному коду прибавить единицу. Прямой код |-200210| 00000111 110100102 Обратный код Инвертирование 11111000 001011012 Прибавление единицы 11111000 001011012 00000000 000000012 Дополнительный код 11111000 001011102 Найдём дополнительный код отрицательного числа –200210 при n=16: +
  • 12. ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКОГО ДЕЙСТВИЯ Выполнить арифметическое действие 2010 – 3010 в 16-разрядном компьютерном представлении. 00000000 000101002 11111111 111000102 11111111 111101102 Десятичное число Прямой код Обратный код Дополнительный код 20 00000000 000101002 -30 00000000 000111102 11111111 111000012 11111111 111000012 00000000 000000012 11111111 111000102 2010 – 3010  11111111 111101102 + + Дополнительный код
  • 13. ПЕРЕВОД ДОПОЛНИТЕЛЬНОГО КОДА В ДЕСЯТИЧНОЕ ЧИСЛО В 16-разрядном компьютерном представлении 2010 – 3010  11111111 111101102 Переведем полученный дополнительный код в десятичное число: 1. Инвертируем дополнительный код: 00000000 00001001 2. К полученному коду прибавим 1 (получим модуль отрицательного числа): 00000000 00001010 3. Переведем в десятичное число и припишем знак отрицательного числа: -10
  • 14. ПЕРЕВОД ДОПОЛНИТЕЛЬНОГО КОДА В ДЕСЯТИЧНОЕ ЧИСЛО В 16-разрядном компьютерном представлении 2010 – 3010  11111111 111101102 Переведем полученный дополнительный код в десятичное число: 1. Отнимем 1 от дополнительного кода: 11111111 11110101 2. Инвертируем полученное число: 00000000 00001010 3. Переведем в десятичное число и припишем знак отрицательного числа: -10 Почему не применяется данный метод перевода дополнительного кода в десятичное число?
  • 15. ПРАКТИКУМ Задача. Найти минимальное отрицательное число в 8-разрядном компьютерном представлении 1 0 0 0 0 0 0 0 Переведем дополнительный код 1000000 в десятичное число: 1. Инвертируем дополнительный код: 01111111 2. К полученному коду прибавим 1 (получим модуль отрицательного числа): 10000000 3. Переведем в десятичное число и припишем знак отрицательного числа: -128 Для n-разрядного представления со знаком минимальное отрицательное число равно –2n-1
  • 16. ПРАКТИКУМ Задача. Найти максимальное отрицательное число в 8-разрядном компьютерном представлении 1 1 1 1 1 1 1 1 Переведем дополнительный код 11111111 в десятичное число: 1. Инвертируем дополнительный код: 00000000 2. К полученному коду прибавим 1 (получим модуль отрицательного числа): 00000001 3. Переведем в десятичное число и припишем знак отрицательного числа: -1
  • 17. Выполняя на компьютере вычисления с целыми числами, нужно помнить об ограниченности диапазона допустимых значений. Выход результата за границы допустимого диапазона называется переполнением. Переполнение при вычислениях с целыми числами не вызывает прерывания работы процессора, но результаты могут оказаться неправильными. ОСОБЕННОСТИ РАБОТЫ С ЦЕЛЫМИ ЧИСЛАМИ
  • 18. ПРАКТИКУМ Задача. Компьютер работает только с целыми числами, представленными в однобайтовой ячейке памяти. Какое значение будет получено в результате вычисления значения арифметического выражения 100+39? Переведем в десятичное число и припишем знак отрицательного числа: Решение: Внутреннее представление числа 100: 01100100 Внутреннее представление числа 39: 00100111 Внутреннее представление суммы 100+39: 10001011 Знаковый разряд равен 1, значит число отрицательное. Инвертируем код: 01110100 Прибавим 1: 01110101 -117 Переполнение привело к неправильному результату!
  • 20. ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ В ФОРМАТЕ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ Вещественные числа хранятся и обрабатываются в компьютере в формате с плавающей запятой (положение запятой в записи числа может изменяться). Формат чисел с плавающей запятой базируется на экспоненциальной форме записи: А = m  qn, где m – мантисса числа, q – основание системы счисления, n – порядок числа. Для однозначности представления чисел с плавающей запятой используется нормализованная форма, при которой мантисса отвечает условию: 1/n ≤ |m| < 1, т.е. мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля.
  • 21. ПРИВЕДЕНИЕ ЧИСЛА С ПЛАВАЮЩЕЙ ЗАПЯТОЙ К НОРМАЛИЗОВАННОЙ ФОРМЕ Диапазон изменения чисел определяется количеством разрядов, отведенных для хранения порядка числа, а точность (количество значащих цифр) определяется количеством разрядов, отведенных для хранения мантиссы. Преобразуем десятичное число 888,888 в экспоненциальную форму с нормализованной мантиссой: 888,888 = 0,888888  103 Число в форме с плавающей запятой занимает в памяти компьютера четыре байта (число обычной точности) или восемь байтов (число двойной точности). Нормализованная мантисса m = 0,888888, порядок n = 3. При записи числа с плавающей запятой выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.
  • 22. ОПРЕДЕЛЕНИЕ МАКСИМАЛЬНОГО ЧИСЛА И ЕГО ТОЧНОСТИ Максимальное значение порядка числа составит 11111112 = 12710, следовательно, максимальное число: 2127 = 1,7014118346046923173168730371588  1038. Максимальное значение положительной мантиссы: 223 – 1 ≈ 223 = 2(102,3) ≈ 10002,3 = 10(32,3) ≈ 107. Максимальное значение чисел обычной точности с учетом возможной точности вычислений составит 1,701411  1038, т.к. количество значащих цифр десятичного числа ограничено 7 разрядами). Задача. Определить максимальное число и его точность для формата чисел обычной точности, если для хранения порядка и его знака отводится 8 разрядов, а для хранения мантиссы и ее знака – 24 разряда. 0 1 1 1 1 1 1 1 знак и порядок 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 знак и мантисса
  • 23. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ С ЧИСЛАМИ В ФОРМАТЕ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ При сложении и вычитании чисел в формате с плавающей запятой сначала производится выравнивание порядков (меньший по модулю порядок числа увеличивается до величины большего по модулю порядка числа, а мантисса уменьшается в такое же количество раз), а затем сложение или вычитание мантисс. При умножении чисел в формате с плавающей запятой порядки складываются, а мантиссы перемножаются. При делении из порядка делимого вычитается порядок делителя, а мантисса делится на мантиссу делителя. После выполнения арифметической операции производится нормализация. Выполнить арифметические операции с числами 0,1  25 и 0,1  23. 0,100  25 0,001  25 0,101  25 + 0,100  25 0,001  25 0,011  25 = 0,11  24 - 0,1  25 0,1  23 0,01  28 = 0,1  27  0,1  25 0,1  23 1  22 = 0,1  23 
  • 24. Пример 1. Как будет представлено в памяти компьютера целое число 1234510 ? Решение Для размещения числа возьмем два байта. Поскольку число положительное, то в старшем (15-м) бите будет 0. Переведем число в двоичную систему счисления: 1234510 = 110000001110012. Результат: 0 0110000 00111001 Знак числа число ПРАКТИКУМ
  • 25. Пример 2. Как будет представлено в памяти компьютера число —123,4510 ? Решение Представим число в 4 байтах. Нормализованный вид: -0,12345∙103 . Число отрицательное, поэтому старшим (31-й) бит равен 1. Порядок равен 3, он положительный, значит, З0-й бит равен 0. Число 3 в двоичной системе счисления имеет вид 11. Чтобы записать его в оставшихся 6 битах старшего байта, необходимо добавить незначащие нули. Таким образом, старший байт имеет вид: 10000011 . Найдем двоичное представление мантиссы 0,12345 по алгоритму перевода дробной части, 24 раза умножив ее на 2. Результат: Пример 2. Раскодировать содержимое четырех байтов памяти: а) как два целых числа; б) как одно вещественное: Решение а) 17793;-128; б) приблизительно 0,5058593 • 10-3 (порядок записан в дополнительном коде). 01000101 10000001 10000000 10000000
  • 26. Пример 3. Записать внутреннее представление числа 250,1875 в форме с плавающей точкой в 4-х байтовом машинном слове. Решение: 1. Переведем число в двоичную систему счисления с 24 значащими цифрами (3 байта под мантиссу): 250.187510= 11111010,00110000000000002. 2. Запишем в форме нормализованного двоичного числа с плавающей точкой: 0,111110100011000000000000∙101000 2. Здесь мантисса, основание системы счисления (210 = 102) и порядок (810 = 10002) записаны в двоичной системе. 3. Вычислим характеристику: S2 =1000 + 1000000 = 1001000. 4. Запишем представление числа в 4-байтовой ячейке памяти с учетом знака числа: Шестнадцатеричная форма: 48FA3000. 0 1001000 11111010 00110000 00000000
  • 27. Задания для самостоятельного выполнения 1. Запишите прямые коды десятичных чисел в однобайтовом формате: а) 64 б) 58 в) 72 г) -96 2. Запишите двоичные числа в дополнительном коде: а) 1010 б) -1001 в) -11 г) -11011 3. Переведите в прямой код числа, записанные в дополнительном коде, и найдите их десятичные эквиваленты: а) 00000100 б) 11111001 4. Представьте целые числа в 16-разрядной ЭВМ: а) 25 б) -25 в) 801 г) -610
  • 28. Задания для самостоятельного выполнения 1. Сравните числа: а) 318,4785∙109 и 3,184785∙1011; б) 218,4785∙10-3 и 1847,85∙10-4; 2. Запишите числа в естественной форме: а) 0,1100000∙2100; б) 0,1001111∙2-111; 3. Выполните действия: а) 0,101010∙211 + 0,110011∙2100; б) 0,100011∙2100 – 0,100001∙2100; в) 0,110011∙2-10 * 0,100001∙21; г) 0,101001∙210 / 0,100000∙210.
  • 29. СЛОЖЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ
  • 30. Выполнение арифметических действий над числами с плавающей запятой гораздо сложнее целочисленной арифметики. Для некоторых процессоров (в частности Intel) операции над вещественными числами вынесены в отдельный узел, который называют математическим сопроцессором. Сложение чисел с плавающей запятой выполняется в соответствии со следующим алгоритмом. 1. Представить числа А и В в нормализованном виде, записав отдельно значения мантисс и порядков. 2. Выровнять порядки по числу с большим порядком. 3. Выровнять число цифр в мантиссах по числу, порядок которого не изменился. 4. Сложить числа. 5. Нормализовать сумму, оставив число цифр в мантиссе таким, как у числа, порядок которого не изменялся.
  • 31. Пример. Найти сумму чисел А = 9,6098 и В = 98,009 по правилу сложения чисел с плавающей запятой. Решение: Результат представим в виде таблицы: Шаг Число Нормализованное число Порядок Мантисса Число цифр в мантиссе 1 А=9,6098 0,96098∙101 1 96098 5 В=98,009 0,98009∙102 2 98009 5 2 А 0,096098∙102 2 096098 6 3 А 0,09609∙102 2 09609 5 4 А+В 1,07618∙102 2 - - 5 А+В 0,101761∙103 3 10761 5