- •Что делать
- •Просто о “длинных” числах
- •Массивы в Си
- •Ввод длинного числа с клавиатуры
- •Как это будет на Си?
- •Сложение двух чисел
- •Умножение длинного числа на длинное
- •Несколько слов о реализации
- •Заключение
- •Задачи на длинную арифметику
- •Задачи для самостоятельного решения
- •Список использованной литературы
- •Проверочная работа
- •1 Вариант
- •2 Вариант
- •Представление вещественных чисел
- •Нормальная и нормализованная форма
- •Типы чисел с плавающей точкой (по ieee 754) Число половинной точности (Binary16, Half precision)
- •Число одинарной точности (Binary32, Single precision, float)
- •Число двойной точности (Binary64, Double precision, double)
- •Число четверной точности (Binary128, Quadruple precision)
- •Диапазон значений чисел с плавающей запятой
- •Особые значения чисел с плавающей точкой Ноль (со знаком)
- •Неопределенность (NaN)
- •Бесконечности
- •Денормализованные числа
- •Действия с числами с плавающей запятой Умножение и деление
- •Сложение и вычитание
- •Алгоритм получения представления вещественного числа в памяти эвм
- •Ссылки Использованные материалы
- •Что стоит прочесть
Число двойной точности (Binary64, Double precision, double)
Число́ двойно́й то́чности — компьютерный формат представления чисел, занимающий в памяти два машинных слова (в случае 32-битного компьютера — 64 бита или 8 байт). Часто используется благодаря своей неплохой точности, даже несмотря на двойной расход памяти и сетевого трафика относительно чисел одинарной точности.
Знак |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Порядок (11 бит) |
Мантисса (52+1 бит) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 |
0 |
0 |
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 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
000 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
62 |
52 |
|
51 |
0 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Порядок записан со сдвигом -1023.
Число четверной точности (Binary128, Quadruple precision)
Число́ четверно́й то́чности — компьютерный формат представления чисел, занимающий в памяти четыре машинных слова (в случае 32-битного компьютера — 128 бит или 16 байт). Используется в случае необходимости крайне высокой точности.
Знак |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Порядок (15 бит) |
Мантисса (112+1 бит) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
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 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
126 |
112 |
|
111 |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Мантисса (112+1 бит) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0000 |
|
0 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Порядок записан со сдвигом -16383.
Обычно этот формат реализуется программно, случаи аппаратной реализации крайне редки. Также не гарантируется поддержка этого типа в языках программирования, хотя кое-где она и реализована (например, компилятор gcc для архитектуры x86 позволяет использовать тип __float128, являющийся программной реализацией числа с четверной точностью). В совокупности эти факторы делают Quadruple весьма экзотичным и редко встречающимся форматом чисел с плавающей запятой.
