ПО, ЭВМ и АСУ из Таможенного Союза

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Метр

Сообщений 1 страница 6 из 6

1

Скорость света в вакууме принята равной 299792458 м/с.

Этому числу нужно 29 битов, на 64-х разрядных процессорах значит
можно размечать печатные листы опираясь на скорость света в вакууме,
всё влезет.

Т.е. если буква должна быть высотой, например 12 типографских пунктов,
это значит 4,23333 миллиметра

1 метр это расстояние, которое пройдёт свет за 1/299792458 секунды
4,23333 миллиметра - в ~250 раз быстрее

0.14120869e-12

«The 80-bit floating-point format is defined by the IEEE 754 standard. Specifically, the Intel 80-bit (64-bit significand) "double extended" format is a notable implementation of the extended precision format recommended by the IEEE 754 standard. This format is widely supported by processors, including the IA32, x86-64, and Itanium processors, and is designed to provide higher precision for floating-point arithmetic operations compared to the standard single and double precision formats»

Не везёт, и тут процессорозависимость...

0

2

Всё такое некруглое...

Надо переопределить лапоть ( https://svetorusie.livejournal.com/372842.html )
как 1*10^-9 дистанции, проходимой светом за секунду в вакууме.
29,9792458 см в нынешних единицах...
а если
1/(2^30), то
27,92 см
(правда "30" это не очень обоснованное число, зато система счисления двоичная, а не человекоспецифичная десятичная)

https://ru.wikipedia.org/wiki/Лапти

«Лапоть» был ещё и одной из единиц измерения на Руси, равной примерно 1/4 аршина (длина лаптя) ~= 17,78 см..
В народной практике она применялась при измерении небольших расстояний,
прежде всего при разделе земли, покосов, при посадке растений.
В современности выражение «плюс-минус лапоть» (вариант с «пол-лаптя»)
означает грубую оценку, с оттенком иронии.

Хм, по длине не очень совпадает...

1 фут это 30,48 см.
https://www.nkj.ru/archive/articles/6005/

Вот как? Неужели у них такие лапищи были? (или это по опросам, вместо замеров...)

Отредактировано Лис (2024-03-22 05:09:58)

0

3

Лис написал(а):

1/299792458 секунды

Пользуйтесь целочисленной длинной арифметикой.
Любое вещественное число это дробь (отношение целого числителя к целому знаменателю).

0

4

NuShaman написал(а):

Любое вещественное число это дробь (отношение целого числителя к целому знаменателю).

Прочтите определение "рациональных чисел".
Затем прочтите определение "вещественных чисел".
Затем обратите внимание, что вещественные числа могут быть как рациональными, так и иррациональными...

0

5

the GNU Compiler Collection (GCC) provides a quadruple-precision type called
__float128
for x86, x86-64, and Itanium CPUs, which can be used for quadruple precision arithmetic.

GCC and Clang compilers provide support for __float128 through software implementations
https://bluescarni.github.io/mppp/tutorial_real128.html

Подозреваю, что нанометры
https://www.quora.com/How-can-you-conve … nanometers
не влезут в __float64.
300 000 000 метров в секунду = 0.3 * 10^9
10^9 нанометров в метре
всего 0.3*10^18
ceil (log(2, 10^18)) = 60
а битов в __float64 в мантиссе всего 52.

Вроде бы порядок это одно, а точность другое, и недостаток битов не должен помешать, но опасения всё равно остаются!

А использовать __float80 не хочется (потому что цифра некруглая)
(__float80 is available on the i386, x86_64, and IA-64 targets, and supports the 80-bit (XFmode) floating type.)

Ещё было бы неплохо подумать о постоянной Планка.
С 2019 года значение постоянной Планка считается зафиксированным и
точно равным величине h = 6,62607015 * 10^−34      кг·м^2·с^−1 (Дж·с).

=log(2, 10^36) = 116 бит.
Мантиссса __float128 = 113 или 112 бит, снова не влезает

Таким образом, для моделирования вселенной на уровне постоянной планка потребуются компьютеры с большей разрядностью,
64 бита в __float80 попробуем растянуть до 128 битов в __float160

Т.е. используются скорее процессоры архитектуры Intel 128, чем Arm 128.

(и я ещё от метров к скорости света не перешел + 10^9)
log(2, 10^46) = 152 бита. Тут явно ничего сделать нельзя, просто не надо на такое замахиваться. Скромнее надо быть в желаниях.

Или всё-таки придумать формат __float192

Отредактировано Лис (2024-03-23 16:37:30)

0

6

Лис написал(а):

64 бита в __float80 попробуем растянуть до 128 битов в __float160

Надо тянуть до бесконечности!
Бесконечность это не предел!

0