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字节形10 ~ 255
int整型2(-2^16/2)-32768 ~ 32767(2^16/2-1)
uint无符号整型20 ~ 65535(2^16-1)
long长整型4-2^32/2 ~ 2^32/2-1
ulong无符号长整型40 ~ 2^32-1
long6464位long8-2^64/2 ~ 2^64/2-1
ulong6464位ulong80 ~ 2^64-1
float浮点型4-10^(-38) ~ 10^(38)
double双精度float8-10^(-308) ~ 10^(308)
complex复数8-10^(-38) ~ 10^(38)
dcomplex双精度complex16-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 数据类型对应的定义或转化方式如下表所示,

数据类型定义或转化方式
Byte0B or byte()
int0 or fix()
uint0u or uint()
long0l or long()
ulong0ul or ulong()
long64

0ll or long64()

ulong640ull or ulong64()
float0.0 or float()
double0.0d or double()
complexcomplex(0,0) or complex(0.0,0.0)
dcomplexcomplex(0.0d,0.0d)
string'' or "" or string()
pointerptr_new() or none()
objectobj_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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语言省考安徽考区_安徽省中小学新任教师公开招聘统一笔试 中学信息技术学科考试大纲...

一、考试性质安徽省中小学新任教师公开招聘考试为全省统一组织的公开性选拔考试,是落实“省考、县管、校用”教师管理体制的基础工作。其目的是吸引有志于从事基础教育事业的优秀人才到中小学任教,进一步规范中小学新任教师公开招聘工作,把好…

IDL学习:语法基础-数组

目录 1. 创建数组 1.1 直接创建 1. 2 利用函数创建 2. 数组索引 3. 数组操作 3.1 数组的信息 3.2 数组维度变化 3.3 数组的最大值和最小值 3.4 数组方差、均值、标准差、总和运算 3.5 数组元素筛选及重新赋值 3.6 数组元素的排序 3.7 数组间比较 4. 数组运算 4.…

amd为什么还用针脚_为什么AMD不取消cpu上的针脚?

在过去,AMD的速龙系列处理器也使用了LGA触点式接口。包括AMD的皓龙在内的一系列服务器处理器也使用类似于英特尔的LGA接口,但AMD多年来一直在消费级CPU上使用针脚式接口。这样做很好?为什么?这是因为在Intel切换到触点式接口之后&…

IDL学习:语法基础-字符串

1. 创建字符串 IDL中可以用单引号‘’或双引号""来创建字符转 >>a hlz >>b "hlz" >>a eq b1 创建字符串数组,可以利用中括号[]和逗号,相组合的方式进行创建 >>a [Hlz,XMU,厦门] >>a Hlz XMU 厦门 &g…

epoll监听文件_epoll使用详解

epoll介绍epoll的行为与poll(2)相似,监视多个有IO事件的文件描述符。epoll除了提供select/poll那种IO事件的水平触发(Level Triggered)外,还提供了边缘触发(Edge Triggered),这就使得用户空间程序有可能缓存IO状态,减少epoll_wait…

IDL学习:语法基础-结构体

结构体是由一批数据组合而成的结构型数据。组成结构型数据的每个数据称为结构型数据的“属性”(亦称之为“成员”),这些成员可以是变量、数组、字符串以及结构等类型数据。IDL中常用于函数返回值(PS:因为IDL中函数最多…

hdfs数据节点分发什么协议_分布式文件系统HDFS解析

Hadoop 主要由HDFS和MapReduce 引擎两部分组成。最底部是HDFS,它存储Hadoop 集群中所有存储节点上的文件。HDFS 的上一层是MapReduce 引擎,该引擎由JobTrackers 和TaskTrackers组成。一、HDFS基本概念1、数据块HDFS默认的最基本的存储单位是64M的数据块&…

IDL学习:语法基础-指针、链表

本博客将介绍IDL语法基础中的指针、链表的创建及相关的用法。记录自己的学习整理理解 。 1. 指针 指针也就是内存地址,是用来存放内存地址的变量,指针可以理解为通讯地址,可以通过通讯地址查询具体的信息,而指针可以查询所指向的…

计算机等级考试java题型_计算机二级考试《java》试题及答案

计算机二级考试《java》试题及答案2017下半年计算机二级考试将于9月23日-26日举行,下面是小编为大家整理的计算机二级考试《java》试题及答案,欢迎参考~计算机二级考试《java》试题及答案一、判断题1. Java语言中的数组元素下标总是从0开始,下…

IDL学习:语法基础-对象、哈希表

本博客将介绍IDL语法基础中的对象、哈希表的创建及相关的操作发法。哈希表、链表都可以看做对象,包含了add、reserve、Sort等方法。记录自己的学习整理理解 。 1. 对象 对象是数据(属性)和程序(方法)封装在一起的实体…

hdfs中8031是什么端口号_在宿主机如何访问docker中hadoop的hdfs:ip:9000啊, 端口映射出来啊...

本人有一个3节点hadoop, 启动了3个docker容器, 众所周知, docker容器内服务的端口是可以映射到宿主机的端口的, 我采用-P将容器的所有端口映射到主机端口, 命令如下:docker run -it -v /Users/yc/hadoop/docker:/test -P -h h1 --name h1 sequenceiq/hadoop-docker /etc/bootst…

linux nginx安启动_linux下nginx编译安装启动

1、在指定目录解压包命令:tar -zxvf nginx-1.10.3.tar.gz解压后,在nginx-1.10.3同级目录下,创建nginx目录(编译安装目录)2、编译安装nginx是需要编译安装,在nginx-1.10.3目录下执行命令命令: ./configure --prefix/usr…

linux怎样自制库_如何制作自己的LINUX系统?

创建工作目录使用busybox生成根文件系统中的bin等目录创建服务启动脚本与inittab文件与fstab文件创建根文件系统的init脚本(initrc使用linuxrc,而initramfs使用init脚本,所以先删除busybox为initrc生成的默认的linuxrc文件,rm-rf$LINUX/linux…

茶苑机器人怎么看出来_小儿脑瘫怎么看出来?出现4个异常,该早点去看医生...

小儿脑瘫表现出来的症状是多种多样的,一般儿童三个月就能够展现出来,家长应该多观察孩子的一些异常情况,及时去医院做诊断,做到防患于未然。小儿脑瘫的表现有哪些?1、运动发育明显落后正常的儿童3个月能抬头&#xff0…

itil 容量管理流程_探索ITIL和DevOps的边界

其实在今天的运维领域,ITIL和DevOps之间的冲突还是蛮明显的,有些是表现在产品上,有些是表现在思维/理念上。ITIL在产品上以流程为核心目标的设计,很难满足自动化的要求,DevOps极力推崇工具/平台/自服务文化&#xff1b…

本博客IDL 学习目录

本博客非技术博客,而是总结我在学习IDL、编写IDL代码方面的博客,旨在方便各位可以通过我这篇博客直接选感兴趣的部分。本博客将会持续更新,不断补充…… IDL 学习 1. IDL 文本编码、代码补全快捷方式、IDL doc、格式器、行号显示设置 2. ID…

python中一个汉字是几个字节_数据库中汉字是几个字节

不依赖微软的库和WindowsAPI,没能试验成功!######问题已解决,谢谢。######看这篇文章,讲的很清楚(:)这是从其他地方拷贝过来的) UNICODE环境设置 在安装Visual Studio时,在选择VC时需要加入unicode选项&…

Matlab 中@ 的用法

Matlab 中的用法主要有:函数句柄、函数表达式、调用父类以及类文件夹。 前两种有很多介绍,后两种涉及类,介绍的人很少。前2个例子,参考了其它博客,总感觉用法都写的不全,所以在此基础上,补充了3…

金蝶k3单据编码规则_金蝶K3存货跌价案例教程

目录案例介绍 后台设置 计提存货跌价准备显示计提表计提凭证模板设置计提凭证生成手工结转跌价准备案例介绍关于存货跌价准备,企业会计准则第1号存货相关规定如下:第十五条 资产负债表日,存货应当按照成本与可变现净值孰低计量。存货成本高于…

maven 关联源码插件_繁琐的任务简单化,Maven的插件机制

Maven的生命周期与Maven插件是项目绑定的,生命周期可以理解为项目构建步骤的集合,它定义了各个构建环节的执行顺序,有了这个顺序,Maven 就可以自动化的执行构建命令。Maven 的核心程序中定义了抽象的生命周期,生命周期…