linqy的个人博客分享 http://blog.sciencenet.cn/u/linqy

博文

GDAL中GDALDataType中值与其在C++中数据类型对应

已有 4995 次阅读 2017-4-17 10:50 |个人分类:GDAL|系统分类:科研笔记

今天在使用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;



https://blog.sciencenet.cn/blog-3134052-1049412.html

上一篇:gdal数据类型的代码的核心定义文件
下一篇:关于C++操作GDAL读写数据的代码
收藏 IP: 124.207.244.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-23 13:05

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部