Trong Fortran> = 90, phương pháp tốt nhất là sử dụng các chức năng nội tại để xác định chính xác bạn cần - điều này đảm bảo cả tính di động và rằng bạn sẽ có được độ chính xác mà bạn cần. Ví dụ, để có được số nguyên i và my_int rằng sẽ hỗ trợ ít nhất 8 chữ số thập phân, bạn có thể sử dụng:
integer, parameter :: RegInt_K = selected_int_kind (8)
integer (kind=RegInt_K) :: i, my_int
Sau khi định nghĩa "RegInt_K" (hoặc bất kỳ tên nào bạn chọn) như một tham số, bạn có thể sử dụng nó trong suốt mã của bạn như một biểu tượng. Điều này cũng giúp dễ dàng thay đổi độ chính xác.
Yêu cầu 8 hoặc 9 chữ số thập phân thường sẽ có được số nguyên 4 byte.
số nguyên * 4 là một tiện ích mở rộng phổ biến quay trở lại FORTRAN cũ để chỉ định số nguyên 4 byte.
số nguyên (4) hoặc số nguyên (RegInt_K) là viết tắt của số nguyên (loại = 4) hoặc số nguyên (loại = RegInt_K). số nguyên (4) không giống như số nguyên * 4 và không di động - tiêu chuẩn ngôn ngữ không chỉ định giá trị số của các loại. Hầu hết các trình biên dịch sử dụng loại = 4 cho số nguyên 4 byte - cho các số nguyên * 4 và số nguyên (4) sẽ cung cấp cùng loại số nguyên - nhưng có ngoại lệ, vì vậy số nguyên (4) không thể di chuyển và tránh được tốt nhất .
Cách tiếp cận cho thực tế là tương tự.
CẬP NHẬT: nếu bạn không muốn chỉ định loại số theo độ chính xác được yêu cầu, mà thay vào đó là bộ nhớ mà chúng sẽ sử dụng, Fortran 2008 sẽ cung cấp phương thức. số thực và số nguyên có thể được xác định bởi số bit lưu trữ sau khi use
ing module ISO_FORTRAN_ENV
, ví dụ, đối với một 4-byte (32-bit) nguyên:
use ISO_FORTRAN_ENV
integer (int32) :: MyInt
Sổ tay gfortran có tài liệu dưới "nội tại mô-đun ".
Nguồn
2010-07-03 05:41:19
đó là một lời giải thích tuyệt vời! Kinh ngạc! Xuất sắc! nó rõ ràng với tôi bây giờ ..: D cảm ơn bạn rất nhiều! – Sam