- •Что делать
- •Просто о “длинных” числах
- •Массивы в Си
- •Ввод длинного числа с клавиатуры
- •Как это будет на Си?
- •Сложение двух чисел
- •Умножение длинного числа на длинное
- •Несколько слов о реализации
- •Заключение
- •Задачи на длинную арифметику
- •Задачи для самостоятельного решения
- •Список использованной литературы
- •Проверочная работа
- •1 Вариант
- •2 Вариант
- •Представление вещественных чисел
- •Нормальная и нормализованная форма
- •Типы чисел с плавающей точкой (по ieee 754) Число половинной точности (Binary16, Half precision)
- •Число одинарной точности (Binary32, Single precision, float)
- •Число двойной точности (Binary64, Double precision, double)
- •Число четверной точности (Binary128, Quadruple precision)
- •Диапазон значений чисел с плавающей запятой
- •Особые значения чисел с плавающей точкой Ноль (со знаком)
- •Неопределенность (NaN)
- •Бесконечности
- •Денормализованные числа
- •Действия с числами с плавающей запятой Умножение и деление
- •Сложение и вычитание
- •Алгоритм получения представления вещественного числа в памяти эвм
- •Ссылки Использованные материалы
- •Что стоит прочесть
Типы чисел с плавающей точкой (по ieee 754) Число половинной точности (Binary16, Half precision)
Число́ полови́нной то́чности — компьютерный формат представления чисел, занимающий в памяти половину машинного слова (в случае 32-битного компьютера — 16 бит или 2 байта). В силу невысокой точности этот формат представления чисел с плавающей запятой обычно используется в видеокартах, где небольшой размер и высокая скорость работы важнее точности вычислений.
Знак |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
Порядок |
Мантисса |
|||||||||||||||||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
1, |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||||||||||
|
14 |
10 |
|
9 |
0 |
||||||||||||||||||||||
Порядок
записан со
сдвигом -15.
То есть чтобы получить актуально значение
порядка нужно вычесть из него сдвиг.
Сдвиг можно получить по формуле
,
где
-
число бит, отведенное на хранение порядка
(в случае числа половинной точности
).
Ограничения точности
Целые от нуля до 2048 передаются как есть.
Целые от 2049 до 4096 округляются к ближайшему чётному целому.
Целые от 4097 до 8192 округляются до ближайшего целого, делящегося нацело на 4.
Целые от 8193 до 16384 округляются до ближайшего целого, делящегося на 8.
Целые от 16385 до 32768 округляются до ближайшего целого, делящегося на 16.
Целые от 32769 до 65535 округляются до ближайшего целого, делящегося на 32.
Число одинарной точности (Binary32, Single precision, float)
Число́ одина́рной то́чности — компьютерный формат представления чисел, занимающий в памяти одно машинное слово (в случае 32-битного компьютера — 32 бита или 4 байта). Используется для работы с вещественными числами везде, где не нужна очень высокая точность.
Знак |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
Порядок (8 бит) |
Мантисса (23+1 бита) |
|
||||||||||||||||||||||||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1, |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
||
|
30 |
23 |
|
22 |
0 |
|
|||||||||||||||||||||||||||||
Порядок записан со сдвигом -127.
