Похожие презентации:
4 кодирование чисел — короткая
1. Кодирование чисел
1Кодирование чисел
0011 0010 1010 1101 0001 0100 1011
2
4
2.
!!! Представление чисел вкомпьютере
0011 0010 1010 1101 0001 0100 1011
Единой оптимальной для всех чисел формы
представления не существует.
1
2
4
Все множество чисел разделяется на типы, каждый из
которых имеет свою собственную форму
представления.
3. Числа
0011 0010 1010 1101 0001 0100 1011Целые
(формат с
фиксированной запятой)
1
2
4
Вещественные
(формат с
плавающей запятой)
4.
Целые числа0011 0010 1010 1101 0001 0100 1011
Целые числа в компьютере хранятся в памяти в формате
с фиксированной запятой или фиксированной
точкой.
В этом случае каждому разряду ячейки памяти
соответствует всегда один и тот же разряд числа, а
запятая находится справа после младшего разряда, т.е.
вне разрядной сетки.
Целые положительные числа в диапазоне от 0 до 255
могут быть представлены в двоичном коде с помощью
перевода в двоичную систему счисления. В памяти
компьютера для такого представления потребуется
один байт.
1
2
4
5.
Представление целых положительных чисел.0011 0010 1010 1101 0001 0100 1011
Алгоритм получения внутреннего
представления целого положительного числа N,
хранящегося в k разрядном машинном слове:
1
2
4
1. Перевести число N в двоичную систему
счисления.
2. Полученный результат дополнить слева
незначащими нулями до k разрядов.
6.
Прямой код числа.При представлении целых положительных и
отрицательных
чисел
0011
0010 1010 1101 0001
0100для
1011кодирования знака
используется отдельный, обычно старший, бит.
С помощью нуля отображается знак плюс, а единицы минус.
1
2
4
Оставшиеся семь бит используются для представления
цифр, что позволяет закодировать с помощью одного
байта целые числа в интервале от -127 до +127.
Описанный способ представления получил название
прямого кода.
7.
Алгоритм№2
Получение
внутреннего
представления целого числа со знаком,
в 0100
k 1011
разрядном машинном слове
0011хранящегося
0010 1010 1101 0001
(запись числа в прямом коде):
2
• Перевести число N в двоичную систему
счисления.
• Полученный
результат
дополнить
слева
незначащими нулями до k-1 разрядов.
• Записать в самый левый (старший) разряд
информацию о знаке числа: знак “плюс” кодируется
нулем, а “минус” — единицей.
1
4
8.
Недостатком прямого кода является неоднозначностьпредставления числа ноль (числу ноль соответствуют
два кода 0000 0000 и 1000 0000).
0011 0010 1010 1101 0001 0100 1011
Эта неоднозначность приводит к усложнению
арифметики и требует соответствующего решения на
аппаратном уровне.
1
2
4
Этот недостаток устраняется с помощью
использования дополнительного кода.
9.
В компьютерной технике применяются три формызаписи (кодирования) целых чисел со знаком:
0011 0010 1010 1101 0001 0100 1011
•прямой код (в формате «знак-величина»),
1
2
•обратный код (получается инвертированием всех
цифр двоичного кода абсолютной величины числа,
включая разряд знака: нули заменяются единицами, а
единицы — нулями,
4
•дополнительный код (получается образованием
обратного кода с последующим прибавлением единицы
к его младшему разряду).
10.
Для представления отрицательных чисел используется0011 0010 1010 1101 0001 0100 1011
дополнительный код.
2
Дополнительный код позволяет заменить
арифметическую операцию вычитания операцией
сложения, что существенно упрощает работу
процессора и увеличивает его быстродействие.
1
4
11.
Положительные числа в прямом, обратном идополнительном кодах изображаются одинаково —
двоичными кодами с цифрой 0 в знаковом
0011 0010 1010 1101 0001 0100 1011
разряде.
1
2
4
12.
Отрицательные числа в прямом, обратном идополнительном кодах имеют разное изображение.
1. Прямой код. В знаковый разряд помещается цифра
0011 0010 1010 1101 0001 0100 1011
1, а в разряды цифровой части числа — двоичный код
его абсолютной величины. Например:
1
2
4
13.
2. Обратный код. Получается инвертированием всехцифр двоичного кода абсолютной величины числа
(модуля
числа), включая разряд знака: нули заменяются
0011 0010 1010 1101 0001 0100 1011
единицами, а единицы — нулями. Например:
1
2
4
14.
0011 0010 1010 1101 0001 0100 10111
2
4
Информатика