Decimal
позволяет иметь большую емкость для хранения действительного числа, чем double
(8 байтов = 64 бита), но меньше BigInteger
, что не является типом данных для управления вещественными числами.
Наша информатика основана на архитектуре микропроцессора, и процессоры фактически управляют большинством 64-битных регистров для работы с внутренними данными и памятью.
Раньше регистры ЦП могли быть 8, 16, 32 или 64 и даже 128 бит для конкретного набора микросхем.
Следовательно, на самом деле обычная операция и оптимизация ЦП в 64 бита равна 8 байтам.
ЦП x64 работают с максимальной производительностью и скоростью при использовании 8-байтовых регистров для получения / установки ячеек памяти, вычислений, выполнения условных тестов, вызова процедур, возврата процедур, выталкивания и выталкивания стека и т. д.
Таким образом, чтобы обеспечить максимально быстрое вычисление чисел, имеющих более 8 байтов, Первый лучший выбор - использовать два 64-битных регистра, следовательно, 128 бит, что равняется 8 + 8 байтам.
Думаю, это дорога: 32 бита - это маленькая дорога, 64-битная стандартная дорога и 128-битная большая дорога: использование 32-битной системы в системе x64 требует ограничения дороги, а использование 128-битного доступа требует монополизации двух дорог.
Но для лучшей оптимизации, и из-за производства электроники c все элементы в нашей архитектуре ЦП кратны 8 битам, поэтому 1/2/4/8/16/32/64/128/256 ... байтов. Из-за оборудования и того, как это делают конструкторы. Из-за теории двоичной арифметики c.
Таким образом, первая лучшая возможность иметь большое действительное число, превышающее 64 бита, - это использовать 128 бит, то есть два регистра процессора по 64 бита (в системе x64 ).
Руководства разработчика программного обеспечения для архитектур Intel® 64 и IA-32