Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran 如何将10^18的数字转换为较小的数字,而不丢失其在编程中的唯一性?_Fortran - Fatal编程技术网

Fortran 如何将10^18的数字转换为较小的数字,而不丢失其在编程中的唯一性?

Fortran 如何将10^18的数字转换为较小的数字,而不丢失其在编程中的唯一性?,fortran,Fortran,我在我的代码中处理大量的数字,我想减少它们的值而不失去它们的唯一性映射仍然是一对一有什么办法可以帮助吗?你没有提到,但我假设你指的是整数,而不是浮点值 如果您的数字空间是10^18,并且每个数字都是相关的,那么您不能减少到更小的数字空间而不丢失信息 可以将-9.2*10^18调整为+9.2*10^18的64位有符号整数。如果您需要更高,则需要128位数字或编译器的“大数字”库 如果您的数据是无符号的,那么它适合于0到1.84*10^19的64位整数。您能举个例子吗?如果您有很多重复的值,您可以做

我在我的代码中处理大量的数字,我想减少它们的值而不失去它们的唯一性映射仍然是一对一有什么办法可以帮助吗?

你没有提到,但我假设你指的是整数,而不是浮点值

如果您的数字空间是10^18,并且每个数字都是相关的,那么您不能减少到更小的数字空间而不丢失信息

可以将-9.2*10^18调整为+9.2*10^18的64位有符号整数。如果您需要更高,则需要128位数字或编译器的“大数字”库


如果您的数据是无符号的,那么它适合于0到1.84*10^19的64位整数。

您能举个例子吗?如果您有很多重复的值,您可以做一些事情,数字的范围是什么?