gpt4 book ai didi

integer - Fortran - 整数长度/使用的位置数

转载 作者:行者123 更新时间:2023-12-01 03:48:02 25 4
gpt4 key购买 nike

这可能是一个非常基本的问题,但我似乎无法在谷歌或通过搜索这个论坛找到答案(很可能是由于问题的措辞不佳)。

我正在寻找一个内在的 Fortran 函数来给我一个整数使用的位置数。我的意思是,如果一个整数是 12543,那么使用的位置数是 5(它总是正数)。我想要这样做的原因是,当使用带有格式化输出的 WRITE 语句时,我可以在“Iw”中指定“w”并使用可能的最小间距。

进一步来说:

WRITE(*,"(/ A,Iw,1X,A,Iw)") "All particles within radius ",radius, "of particle index number", p_o_i

其中,radius 和 p_o_i 由用户先前指定。

我可以很容易地写一些东西来实现这一点,但我认为必须有一个内在函数可以实现这一点。

我一直在浏览函数 here但运气不佳。谢谢您的帮助。

最佳答案

感谢您的回复!我承认这个问题具有误导性,因为它特别要求一个内在的 Fortran 函数来给出一个整数使用的位置数,而这最初并不是严格要求的。此外,普遍的共识似乎是这并不存在。

正如 francescalus 所建议的和 High Performance Mark ,为了确保对整数使用可能的最小间距,应使用“I0”编辑说明。因此,对于前面的示例,这将是:

WRITE(*,"(/ 1X, A, I0, A, I0)") "All particles within radius ",radius, " of particle index number ", p_o_i

如果您确实需要在整数中找到“字符”的数量(出于其他原因),最好的建议似乎是使用 log10功能,正如 steabert 所建议的.

关于integer - Fortran - 整数长度/使用的位置数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25366298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com