IDL学习:语法基础-变量
目录
1. 变量命名规则
2. 数据类型
3. 基本操作
3.1 数据类型选择
3.2 改变数据类型
3.3 科学计数法
1. 变量命名规则
与其他编程语言一样,IDL也有自己的变量命名规则:
- 字符规则:首字母必须是26个英文字母,且只能由字母、数字、下划线、$组成,不区分大小写,不能有空格!!!
- 长度规则:长度不超过128个字符。
- 特殊规则:不能是系统内部用于特殊用途的保留字名称
IDL保留字:And、Begin、Case、Common、Do、Else、End、Endcase、Endelse、Endfor、EndIF、……(注:不用记)
注:IDL除此之外,还有一些事系统变量,其以!开头,例如:
- !Pi(π,3.14159)
- !DPi(双精度π,3.1415927)
- !DTor(角度转化为弧度的系数,π/180)
- !Radeg(弧度转化为角度的系数,180/π)
- !Color(系统色彩表找表)
2. 数据类型
IDL数据类型有17种,包含11种数字数据类型和6中非数字数据类型
类型 | 数据类型 | 描述 | 字节数 | 范围 |
数 字 数 据 类 型 |
Byte | 字节形 | 1 | 0 ~ 255 |
int | 整型 | 2 | (-2^16/2)-32768 ~ 32767(2^16/2-1) | |
uint | 无符号整型 | 2 | 0 ~ 65535(2^16-1) | |
long | 长整型 | 4 | -2^32/2 ~ 2^32/2-1 | |
ulong | 无符号长整型 | 4 | 0 ~ 2^32-1 | |
long64 | 64位long | 8 | -2^64/2 ~ 2^64/2-1 | |
ulong64 | 64位ulong | 8 | 0 ~ 2^64-1 | |
float | 浮点型 | 4 | -10^(-38) ~ 10^(38) | |
double | 双精度float | 8 | -10^(-308) ~ 10^(308) | |
complex | 复数 | 8 | -10^(-38) ~ 10^(38) | |
dcomplex | 双精度complex | 16 | -10^(-308) ~ 10^(308) | |
类型 | 数据类型 | 描述 | 无 | |
非 数 字 数 据 类 型 |
string |
字符串 | ||
struct | 结构体 | |||
pointer | 指针 | |||
object | 对象 | |||
list | 链表 | |||
hash | 哈希表 |
3. 基本操作
3.1 数据类型选择
与matlab一样,IDL不需要声明变量类型,自动默认最小的数据存储方式(byte除外),例如,
>>a = 1
>>help,a
A INT = 1
此时,程序默认用最小空间存储方式,选择数据类型 int
>>a = 1.
>>help,a
A FLOAT = 1.00000
此时,由于数字后面有小数点,则默认为是有小数的数据,程序默认用最小空间存储方式,选择数据类型float
>>a = 65536
>>help,a
A LONG = 65536
此时,65536值超过int存储的空间,所以选择能存储这个数的最小空间存储方式,选择数据类型long
>>c
( 1.0000000, 2.0000000)
>>help,c
C COMPLEX = ( 1.00000, 2.00000)
此时,c为复数,则默认其数据类型为complex
3.2 改变数据类型
IDL 数据类型对应的定义或转化方式如下表所示,
数据类型 | 定义或转化方式 |
Byte | 0B or byte() |
int | 0 or fix() |
uint | 0u or uint() |
long | 0l or long() |
ulong | 0ul or ulong() |
long64 |
0ll or long64() |
ulong64 | 0ull or ulong64() |
float | 0.0 or float() |
double | 0.0d or double() |
complex | complex(0,0) or complex(0.0,0.0) |
dcomplex | complex(0.0d,0.0d) |
string | '' or "" or string() |
pointer | ptr_new() or none() |
object | obj_new() or none() |
注:fix是截断取整函数。
例如:定义、转化为byte
>>a = 1
>>help,a
A INT = 1
>>a = 1B
>>help,a
A BYTE = 1
>>b = Byte(1)
>>help,b
B BYTE = 1
例如:定义、转为为float
>>a = 1.
>>help,a
A FLOAT = 1.00000
>>b = Float(1)
>>help,b
B FLOAT = 1.00000
例如:定义、转化字符串
>>a = 'hulizhen'
>>help,a
A STRING = 'hulizhen'
>>b = "联合遥感接收站"
>>help,b
B STRING = '联合遥感接收站'
>>c = string(1234)
>>help,c
C STRING = ' 1234'
注意:为什么数字转化为字符前面有空白,因为数据有默认的类型,即默认的长度,同时默认的是右对齐,所以才会这样显示,记住,那仅仅是显示,不是空格。
3.3 科学计数法
IDL科学计数法与matlab一样
>>a = 1e-5
>>help,a
A FLOAT = 1.00000e-005
>>b = 1e5
>>
>>help,b
B FLOAT = 100000.
IDL学习:语法基础-变量相关推荐
- IDL学习:语法基础-指针、链表
本博客将介绍IDL语法基础中的指针.链表的创建及相关的用法.记录自己的学习+整理+理解 . 1. 指针 指针也就是内存地址,是用来存放内存地址的变量,指针可以理解为通讯地址,可以通过通讯地址查询具体的 ...
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)...
Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...
- 基础语法和变量day2学习内容
基础语法和变量 内容: --------基础语法 --------print函数的使用 --------变量 --------数学运算符 --------比较运算符 一.基础语法 注释 单行注释 多行 ...
- python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?
---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...
- idea编译的文件怎么用cmd打开_JAVA学习册|基础语法|cmd输出HelloWorld
看到这个标题,估计已经有小伙伴知识本文要讲什么了,好,下面我们就开始正文 学java最开始的地方 很多老师的书和视频中,在安装完jdk,配置好环境变量,都会带大家用记事本写一个HelloWorld,然 ...
- 【Drools二】打工人学习Drools基础语法
目录 0.项目搭建 1. 规则文件 1.1 构成 1.2规则体 2.基础语法 2.1 注释 2.2 Pattern模式匹配 2.3比较操作符 2.3.1 实践 2.3执行指定规则 3.Drools内置 ...
- IDL语法基础(01)
⛄IDL简介 交互式数据语言--IDL(Interactive Data Language)是进行应用程序开发.科学数据分析与可视化表达的理想工具.IDL是基于矩阵运算的计算机语言,它语法简单,自带大 ...
- 掉进悬崖的小白,捡到python基础秘籍,学习第一周——语法基础,小游戏,无脑循环
掉进悬崖的小白,捡到python基础秘籍,学习第一周--语法基础,小游戏,无脑循环 人生苦短,我用python 语言的种类: 语言的发展: 什么是python 搭建 Python开发环境: 集成开发环 ...
- Python办公自动化学习笔记(二)—Python语法基础
目 录 一.数据类型 1. python基础变量 2. 数据类型 3. 数据类型转换 4. 列表 5. 字典 二.逻辑控制 三.for与while循环 1. for--in--循环 ...
最新文章
- 新建表维护程序SM30
- 国外开源网站网页翻译
- WSAStartup()函数以及DLL的加载
- 敏捷测试理论以及实践(2)
- STM32 之十六 深入了解 ADC 工作原理及参考电压变动的影响
- 解决:Intellij idea 启动项目报错 error:java: 无效的源发行版: 8
- Oracle 创建表 练习题
- 2018大厂高级前端面试题汇总
- ca盘显示无证书_ca证书提示没有正确的安装驱动程序
- 苹果电脑python编程里面怎么切到中文_苹果电脑输入法怎么切换到中文
- php无刷新分页插件,帝国cms增加Ajax加载更多功能,无刷新Ajax表分页插件使用说明_励翔科技帝国cms开发中心...
- C1——supermap获取对象的中心位置
- markdown还需要图床?你out了!用base64代替图床!
- python随机画笑脸_如何用python画笑脸
- 华为智慧屏鸿蒙系统评价,华为智慧屏V55i配置怎么样 参数介绍运行鸿蒙操作系统...
- 使用Python来模拟鼠标的点击; 模拟键盘
- declval 的说明
- 虚幻蓝图实现只狼钩索系统(5)-UI失效
- 路由跟踪工具——笨鸟
- 如何使用报表工具制作二维码报表
热门文章
- 《Adobe Premiere Pro CC经典教程(彩色版)》——导读
- 用scons编译STM32F103工程
- SSM网上商城购物系统(前台+后台)
- HTML5 input()标签
- 微信小程序---小程序中引入的echarts在滑动屏幕时抖动以及不跟随scroll滑动问题
- Neo4j Vs JanusGraph Vs Tigergraph
- Visio画图-visio 2007中的布局与排列间距在哪里
- C#字符串的使用笔记
- 高通骁龙845的android手机有哪些,2018年骁龙845手机有哪些?骁龙845手机怎么样?...
- SqlMDF数据提取工具