смещение +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, просмотров: 1299.