||
今天在使用GDAL设置数据的时候,看到关于GDT的不同类型,由于没有提前了解,导致了一些小错误,下面总结了一下,与大家分享
GDAL中GDALDataType中值与其在C++中数据类型对应,GDAL中的GDALDataType是一个枚举型,其中的值为:
GDT_Unknown : 未知数据类型
GDT_Byte : 8bit正整型 (C++中对应unsigned char)
GDT_UInt16 : 16bit正整型 (C++中对应 unsigned short)
GDT_Int16 : 16bit整型 (C++中对应 short 或 short int)
GDT_UInt32 : 32bit 正整型 (C++中对应unsigned long)
GDT_Int32 : 32bit整型 (C++中对应int 或 long 或 long int)
GDT_Float32 : 32bit 浮点型 (C++中对应float)
GDT_Float64 : 64bit 浮点型 (C++中对应double)
GDT_CInt16 : 16bit复数整型 (新增的一种复数数据类型Complex Int16)
GDT_CInt32 : 32bit复数整型 (新增的一种复数数据类型Complex Int32)
GDT_CFloat32 : 32bit复数浮点型 (新增的一种复数数据类型Complex Float32)
GDT_CFloat64 : 64bit复数浮点型 (新增的一种复数数据类型Complex Float64)
Complex Int/Float是一种新增的数据类型,可表示复数。
C99 新增了复数类型(_Complex)和虚数类型(_Imaginary)。简单来说,C99 提供了三种复数类型:float _Complex,double _Complex,和 long double _Complex。对于 float _Complex类型的变量来说,它包含两个 float类型的值,一个用于表示复数的实部(real part),另一个用于表示虚部(imaginary part)。类似地,double _Complex 包含两个 double类型的值。C99 也提供了三种虚数类型:float _Imaginary,double _Imaginary,以及 long double _Imaginary。虚数类型只有虚部,没有实部。
在C++中包含在标准头文件 complex.h 后,就可以用 complex来代表 _Complex,用imaginary来代表 _Imaginary,以及用 I来代表虚数单位 i,也就是 -1的平方根。例如:
#include <complex.h>
double _Complex x = 5.2;
double complex y = 5.0 * I;
double complex z = 5.2 – 5.0 * I;
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 13:05
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社