MST

星途 面试题库

面试题:Fortran基本数据类型的存储和取值范围

请简述Fortran中整数、实数、双精度实数这几种基本数据类型在常见编译器下的存储方式以及取值范围。
43.7万 热度难度
编程语言Fortran

知识考点

AI 面试

面试题答案

一键面试

整数(Integer)

  • 存储方式:在常见编译器下,通常以固定长度的二进制补码形式存储。例如,4字节(32位)的整数,最高位为符号位,其余31位表示数值。正数以原码形式存储,负数以补码形式存储(即绝对值的二进制取反加1)。
  • 取值范围:对于4字节(32位)有符号整数,取值范围是 -2^31 到 2^31 - 1,即 -2147483648 到 2147483647。对于2字节(16位)有符号整数,取值范围是 -2^15 到 2^15 - 1,即 -32768 到 32767 。

实数(Real)

  • 存储方式:通常按照IEEE 754标准的单精度浮点数格式存储,占用4字节(32位)。这32位分为三部分:1位符号位(S),8位指数位(E),23位尾数位(M)。实际数值表示为 (-1)^S × 1.M × 2^(E - 127) 。
  • 取值范围:大约是 -3.4028234663852886 × 10^38 到 3.4028234663852886 × 10^38 ,精度大约为6 - 7位有效数字。

双精度实数(Double Precision Real)

  • 存储方式:按照IEEE 754标准的双精度浮点数格式存储,占用8字节(64位)。64位分为三部分:1位符号位(S),11位指数位(E),52位尾数位(M)。实际数值表示为 (-1)^S × 1.M × 2^(E - 1023) 。
  • 取值范围:大约是 -1.7976931348623157 × 10^308 到 1.7976931348623157 × 10^308 ,精度大约为15 - 17位有效数字。