смещение +3
| прямой код | смещенные числа | код со смещением | |
| 4 | 0.100 | 7 | 111 |
| 3 | 0.11 | 6 | 110 |
| 2 | 0.10 | 5 | 101 |
| 1 | 0.01 | 4 | 100 |
| 0 | 0.00 | 3 | 011 |
| -1 | 1.01 | 2 | 010 |
| -2 | 1.10 | 1 | 001 |
| -3 | 1.11 | 0 | 000 |
Код со смещением позволяет сдвинуть числовую шкалу, содержащию как положительные, так и отрицательные числа, полностью в область положительных чисел.
– максимальное число в смещенном коде.
1-
– минимальное число в смещенном коде.
| + | A | + | смещение | |||||||||||||||||||||||||||
| B | + | смещение | ||||||||||||||||||||||||||||
| - | A+B | + | 2* смещение | |||||||||||||||||||||||||||
| смещение | ||||||||||||||||||||||||||||||
| A+B | + | смещение |
При вычитании аналогично прибавлять смещение.
17 Представление чисел с фиксированной точкой: варианты фиксации точки для чисел со знаком и без, диапазоны представления чисел. Целочисленные типы данных.
| Форма прдставления числа |
| С фиксированной точкой |
| С плавающей точкой |
| справа от младшего разряда |
| слева от старшего разряда |
| Где-то в середине сетки |
справа от младшего разряда:
Целые числа. Точка формально находится справа от младшего разряда, т.е. вне разрядной сетки.
без знака:

unsigned int, unsigned short int, unsigned long int, unsigned char.
со знаком:
short int, int, long int.

слева от старшего разряда:
Аналогично, только все числа меньше единицы, т.е. дробные. Используется в специальных процессорах.
без знака:

со знаком:
С точкой, фиксированной где-то в середине сетки.
k – число целых разрядов.
m – число дробных разрядов.
без знака:
| целая часть (k) | дробная часть(m) |
| n=k+m | |


со знаком:
| знак | целая часть (k) | дробная часть(m) |
| n=k1+m1+1 | ||
Представление чисел с плавающей точкой. Общая идея. Диапазон представления чисел. Понятие нормализованного и ненормализованного числа.
| знак порядка | знак мантиссы | порядок | мантисса |
| 1 | 1 | k | m |
| n=k+m+2 | |||
Число считается нормализованным, если в старшем разряде после запятой стоит значащая цифра (в двоичной системе это 1).
Правила выполнения арифметических операций для чисел с плавающей точкой. Примеры.
Сложение/вычитание:
1. Выравниваем порядки.
2. Складываем/вычитаем.
3. Нормализуем.
Умножение:
1. Складываем порядки.
2. Перемножаем мантиссы.
3. Нормализуем.
Деление:
1. Вычитаем порядок делителя из порядка делимого.
2. Делим.
3. Нормализуем.
| 0 | . | 1 | * | 2 | ^ | 5 | и | 0 | . | 1 | * | 2 | ^ | 3 | ||||||||||||||||
| + | 0 | . | 1 | 0 | 0 | * | 2 | ^ | 5 | + | 0 | . | 1 | 0 | 0 | * | 2 | ^ | 5 | |||||||||||
| 0 | . | 0 | 0 | 1 | * | 2 | ^ | 5 | 0 | . | 0 | 0 | 1 | * | 2 | ^ | 5 | |||||||||||||
| 0 | . | 1 | 0 | 1 | * | 2 | ^ | 5 | 0 | . | 0 | 1 | 1 | * | 2 | ^ | 5 | = | 0 | . | 1 | 1 | * | 2 | ^ | 4 | ||||
| * | 0 | . | 1 | * | 2 | ^ | 5 | |||||||||||||||||||||||
| 0 | . | 1 | * | 2 | ^ | 3 | ||||||||||||||||||||||||
| 0 | . | 0 | 1 | * | 2 | ^ | 8 | = | 0 | . | 1 | * | 2 | ^ | 7 | |||||||||||||||
|
| 0 | . | 1 | * | 2 | ^ | 5 | |||||||||||||||||||||||
| 0 | . | 1 | * | 2 | ^ | 3 | ||||||||||||||||||||||||
| 1 | * | 2 | ^ | 2 | = | 0 | . | 1 | * | 2 | ^ | 3 |
Дата: 2019-04-23, просмотров: 1381.