Мне нужно хранить множество разных значений как удвоение от 0 до 1, чтобы иметь равномерное представление. Например, значение ARGB - это 32-разрядное целое число. Может удваивать однозначно представлять каждое целочисленное значение, если я храню его как обратное? Я знаю, что для этого достаточно бит, но я не уверен, предотвратит ли это экспоненциальное расстояние.Взаимное представление целых чисел в числах с плавающей запятой
ответ
Стандартная двойная имеет 52 бит мантиссы, поэтому да, она способна удерживать и точно воспроизводить 32-битное целое число. Другая проблема заключается в том, что они должны быть между 0 и 1. Ответный способ не такой, как! Контрпример: 1/3 не является точно представимым двойным. Вам нужно будет разделить значения, чтобы обеспечить диапазон. Вы можете разделить или умножить силы на две, чтобы сохранить точную точность. Поэтому, если у вас есть 32-значные значения без знака, они преобразуют их в double, а затем делят на 2^32. Если вы вернетесь, что при чтении значения должны быть воспроизведены точно. В C или C++ существуют даже специальные инструкции для непосредственного управления экспонентом и мантиссой с плавающей точкой или двойным, они могут быть более эффективными и безопасными.
- 1. Поиск целых чисел и чисел с плавающей запятой в списке
- 2. Matlab-представление чисел с плавающей запятой
- 3. Python представление чисел с плавающей запятой
- 4. Представление чисел с плавающей запятой Java в виде шестнадцатеричных чисел
- 5. Принимая u в числах с плавающей запятой
- 6. Объединение целых чисел и чисел с плавающей запятой: соображения производительности
- 7. Сравнение чисел с плавающей запятой как целых чисел
- 8. Представление чисел с плавающей запятой и целых чисел в двоичном формате
- 9. Предупреждение о целых числах целых чисел
- 10. Двоичные числа с плавающей запятой с использованием двух целых чисел?
- 11. Представление чисел с плавающей запятой в двоичном формате
- 12. Точное представление непредставимых чисел с плавающей запятой в Java
- 13. представление чисел с плавающей точкой в Swift
- 14. Число целых чисел двоичное представление
- 15. Двоичное представление с плавающей запятой
- 16. Использование чисел с плавающей запятой в imagefilledrectangle()
- 17. Awk чисел с плавающей запятой
- 18. Формат чисел с плавающей запятой
- 19. Чтение чисел с плавающей запятой
- 20. Сравнение чисел с плавающей запятой
- 21. Точность чисел с плавающей запятой
- 22. Endianess чисел с плавающей запятой
- 23. Сравнение чисел с плавающей запятой
- 24. Диапазон чисел с плавающей запятой
- 25. Исправление чисел с плавающей запятой
- 26. Указывает ли стандарт C++ на представление чисел с плавающей запятой?
- 27. Компактный формат для чисел с плавающей запятой
- 28. Распределение точности чисел чисел с плавающей запятой
- 29. Как читать в числах с плавающей запятой в Python 3.3.2
- 30. точное представление с плавающей запятой в c
Извините, что я забыл ответить на это. Мои диапазоны всегда равны двум (например, 0x1/0xFFFF), поэтому это должно быть нормально. Так как это не узкое место, просто оставайтесь со стандартной арифметикой на данный момент :) – Shaggi