gpt4 book ai didi

Fortran:将 double 复数转换为单精度

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

我可以使用 sngl 将 double 实数变量转换为单精度变量。但是如何将 double 复杂变量转换为单精度变量?

最佳答案

对所有实数转换使用通用的 REAL(),尽管 SNGL() 也可以用于一种特定情况:

  integer, parameter :: sp = kind(1e0), dp = kind(1d0)

real(x) !converts to the default kind, which is the single precision
!sngl(x) does the same thing
real(x, sp) ! converts to the kind sp (single precision)
real(x, dp) ! converts to the kind dp (double precision)

复杂的是一样的,但是使用CMPLX():

  cmplx(x)  !converts to the default kind, which is the single precision
cmplx(x, sp) ! converts to the kind sp (single precision)
cmplx(x, dp) ! converts to the kind dp (double precision)

在赋值时,转换是隐式的,您不必(但可以)使用这些显式转换函数。

单精度和 double 的整个概念有些过时,已被 Fortran 90 kinds 取代.

关于Fortran:将 double 复数转换为单精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26930536/

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