Ответ 1
Это очень интересный вопрос и, вероятно, есть причины, связанные с python, вычислением и/или аппаратным обеспечением. Не пытаясь дать полный ответ, вот что я хотел бы сделать...
Сначала обратите внимание, что типы определяются языком и могут отличаться от вашей аппаратной архитектуры. Например, вы могли бы даже удваивать с 8-битным процессором. Конечно, любая арифметика включает в себя несколько инструкций ЦП, делая вычисления намного медленнее. Тем не менее, если ваше приложение требует этого, оно может стоить того или даже требуется (лучше быть поздно, чем ошибаться, особенно если вы говорите, что вы используете симуляцию для стабильности моста в случае моста...) Итак, где требуется 128-битная точность? Здесь статья википедии на нем...
Еще одна интересная деталь: когда говорят, что компьютер говорит 64-битный, это не полностью описывает аппаратное обеспечение. Есть много частей, каждая из которых может быть (и, по крайней мере, была время от времени) разными битами: вычислительные регистры в ЦП, схемы адресации памяти/регистры памяти и разные шины, наиболее важные для шины от процессора к памяти.
- ALU (арифметический и логический блок) имеет регистры, которые выполняют вычисления. Ваши компьютеры имеют 64 бит (не уверен, что это также означает, что они могли бы выполнить 2 32-битных вычисления в аналогичное время). Это, безусловно, самое подходящее количество для этой дискуссии. Давным-давно, это было так, что вы могли бы пойти и купить <сопроводительный сопроцессор чтобы ускорить это для расчетов более высокой точности...
- Регистры, в которых хранятся адреса памяти, ограничивают память, которую компьютер может видеть (напрямую), поэтому компьютеры с 32-разрядными регистрами памяти могут видеть только 2 ^ 32 байта (или около 4 ГБ). Обратите внимание, что для 16 бит это становится 65 КБ который очень низок. ОС может найти способы обойти это ограничение, но не для одной программы, поэтому никакая программа на 32-битном компьютере обычно не может иметь память более 4 ГБ.
-Notice, что эти ограничения составляют около байтов, а не бит. Это связано с тем, что при обращении и загрузке из памяти мы загружаем байты. Фактически, так, как это делается, загрузка байта (8 бит) или 8 (64 бит == длина шины для вашего компьютера) занимает одно и то же время. Я прошу адрес, а затем сразу получаю все биты через шину. Может быть, что в архитектуре все эти величины не равны количеству бит.