文档章节

关于运算符

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 495
阅读 10
收藏 0
点赞 0
评论 0
运算符包括:
@  not  ^  *  /  div  mod  and  shl  shr  as  +  -  or  xor  =  >  <  <>  <=  >=  in  is

其中 @  not  ^ 是一元运算符;  +  - 有时是一元,有时是二元; 其他都是二元运算符.

一元运算符在运算数的前面, ^ 例外,也可以在后面,如: P^; 二元运算符在运算数中间.

运算符的行为随运算数的类型而变,譬如: not , 面对整数是对位求反; 面对布尔是逻辑非运算.

除了 ^  is  in,其它运算可应用在Variant(变体类型)上.


算术运算符: 
+  -  *  /  div  mod


布尔运算符:
not  and  or  xor


位运算符: 
not  and  or  xor  shl  shr

x shl y = x * 2^y
s shr y = x / 2^y
如果x是一个integer, 那么 x shl 40 = x shl 8, 因为integer的大小是32位.


字符串运算符: 
+


指针运算符: 
+  -  ^  =  <>

+ - 一般只对字符指针; 无类型指针(Pointer)在 ^ 前必须进行类型转换.


集合运算符: 
+  -  *  <=  >=  =  <>  in

+(并集)
-(差集)
*(交集)
<=(子集)
>=(超集)


关系运算符: 
=  <>  <  >  <=  >=

两个运算数必须类型一直(整数和实数除外);
对字符和字符串,是比较每个字符在字符集中的顺序;
其中 =  <>  <=  >= 可用于集合;
=  <> 可用于指针和类与类型;
<  >  <=  >= 可用于PChar.


类运算符: 
as  in

as也用于接口;
关系运算符 =  <> 也用于类型.


@运算符: 
@

@返回变量/函数/过程或方法的地址,就是指向运算数的指针;
{$T-}(编译器默认)时,@X返回通用指针; {$T+}@X返回X的类型指针;
@F(F代表一个过程或方法),返回F的入口点,@F总是Pointer;
要获取类的方法的指针,必须用类名来限定方法: @TMyCalss.Method


运算符优先级:
@  not
*  /  div  mod  and  shl  shr  as
+  -  or  xor 
=  <>  <  >  <=  >=  in  is


另外:

is比较符是用在对象之间; 其他类型之间的比较用 = .

Inc/Dec 分别类似其他语言中的++/--, 如:
Inc(i); Dec(i); Inc(i,3); Dec(i,3);

本文转载自:http://www.cnblogs.com/del/archive/2007/11/22/968642.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
JavaScript强化教程——JavaScript 运算符

本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— JavaScript 运算符 JavaScript 算术运算符 算术运算符用于执行两个变量或值的运算。 赋值 y = 5, 以下表格将向你...

哟猫Intry ⋅ 2016/07/18 ⋅ 0

JavaScript强化教程——JavaScript 运算符

本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— JavaScript 运算符 JavaScript 算术运算符 算术运算符用于执行两个变量或值的运算。 赋值 y = 5, 以下表格将向你...

zhanyingwang ⋅ 2016/09/01 ⋅ 0

Es6学习笔记(一)

1、关于let -- let变量必须先声明,后使用 -- 在同一作用域,let不能重复声明 -- let增加了块级作用域,从而从某种意义上取消了自我执行函数 2、关于const -- const只声明一个常量,一旦声明...

小旭依然 ⋅ 2017/05/17 ⋅ 0

重读 Swift 之二:Operator Declaration(运算符重载)

一、为什么要重载运算符 我们都知道所谓的运算符平常的也就是 之类的,比如我们随便写个 打印肯定输出的是 ,那么我们为什么还要重载运算符呢?下面我们就举个例子,如下我定义个结构体 然后...

HenryCheng ⋅ 2016/09/30 ⋅ 0

swift(2)基本运算符

赋值运算符无返回值,赋值语句不能作为if的条件语句,防止错写==为=的尴尬。此处关于可选变量我原先有个疑问,如果在赋值语句前面加个let,变成声明一个常量,再作赋值运算就可以。非Bool值的...

火镜先生 ⋅ 2014/06/09 ⋅ 0

OC学习笔记五 算术运算符

和所有其他程序一起,OC 在两个数字相加时用(+),相减用(-),相乘用(*),相除用(/),这些运算符称为二元运算符,它们运算两个值或项 1.运算符的优先级 优先级用于确定包含多个运算符...

卧龙小 ⋅ 2014/09/22 ⋅ 0

四:MySQL中的运算符 - 系统的撸一遍MySQL

MySQL支持许多整理的运算符,其中主要包括以下几类:算数运算符、比较运算符、逻辑运算符、位运算符。 算数运算符 运算符 作用 + 加法 - 减法 * 乘法 / 或 DIV 除法 % 或 MOD 取余 示例: 运...

logbird ⋅ 2016/08/17 ⋅ 0

Linux Shell 逻辑运算符、逻辑表达式详解

shell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决我们很多复杂的判断,达到事半功倍效果。 一、逻辑运算符 逻辑卷标 表示意思 1. 关于档案与目录的侦测逻辑卷标! -f 常用...

Foundation ⋅ 2015/10/08 ⋅ 0

关于运算符重载的几点

1.运算符重载 C++中,除了可以对函数重载外,还可以对运算符重载,通过创建运算符函数 operator() 来实现,一般运算符重载作用在类上 。函数operator() 既可以是它将要操作的类的成员,也可以...

Linux小菜 ⋅ 2014/04/28 ⋅ 1

Linux shell 逻辑运算符、逻辑表达式详解

shell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决我们很多复杂的判断,达到事半功倍效果。 一、逻辑运算符 1、逻辑卷标表示意思 1)关于档案与目录的侦测逻辑卷标 -f 常用...

寰宇01 ⋅ 04/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

C++内存映射文件居然是这样?!

内存映射文件大家都时不时听过,但它到底是个什么?赶紧来看看吧 内存映射文件到底是干嘛的呢?让我们先来思考下面几个问题: 如果您想读的内容大于系统分配的内存块怎么办?如果您想搜索的字...

柳猫 ⋅ 28分钟前 ⋅ 0

MySQL 数据库设计总结

规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。 注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节...

OSC_cnhwTY ⋅ 今天 ⋅ 0

多线程(四)

线程池和Exector框架 什么是线程池? 降低资源的消耗 提高响应速度,任务:T1创建线程时间,T2任务执行时间,T3线程销毁时间,线程池没有或者减少T1和T3 提高线程的可管理性。 线程池要做些什...

这很耳东先生 ⋅ 今天 ⋅ 0

使用SpringMVC的@Validated注解验证

1、SpringMVC验证@Validated的使用 第一步:编写国际化消息资源文件 编写国际化消息资源ValidatedMessage.properties文件主要是用来显示错误的消息定制 [java] view plain copy edit.userna...

瑟青豆 ⋅ 今天 ⋅ 0

19.压缩工具gzip bzip2 xz

6月22日任务 6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具 6.1 压缩打包介绍: linux中常见的一些压缩文件 .zip .gz .bz2 .xz .tar .gz .tar .bz2 .tar.xz 建立一些文...

王鑫linux ⋅ 今天 ⋅ 0

6. Shell 函数 和 定向输出

Shell 常用函数 简洁:目前没怎么在Shell 脚本中使用过函数,哈哈,不过,以后可能会用。就像java8的函数式编程,以后获取会用吧,行吧,那咱们简单的看一下具体的使用 Shell函数格式 linux ...

AHUSKY ⋅ 今天 ⋅ 0

单片机软件定时器

之前写了一个软件定时器,发现不够优化,和友好,现在重写了 soft_timer.h #ifndef _SOFT_TIMER_H_#define _SOFT_TIMER_H_#include "sys.h"typedef void (*timer_callback_function)(vo...

猎人嘻嘻哈哈的 ⋅ 今天 ⋅ 0

好的资料搜说引擎

鸠摩搜书 简介:鸠摩搜书是一个电子书搜索引擎。它汇集了多个网盘和电子书平台的资源,真所谓大而全。而且它还支持筛选txt,pdf,mobi,epub、azw3格式文件。还显示来自不同网站的资源。对了,...

乔三爷 ⋅ 今天 ⋅ 0

Debian下安装PostgreSQL的表分区插件pg_pathman

先安装基础的编译环境 apt-get install build-essential libssl1.0-dev libkrb5-dev 将pg的bin目录加入环境变量,主要是要使用 pg_config export PATH=$PATH:/usr/lib/postgresql/10/bin 进......

玛雅牛 ⋅ 今天 ⋅ 0

inno安装

#define MyAppName "HoldChipEngin" #define MyAppVersion "1.0" #define MyAppPublisher "Hold Chip, Inc." #define MyAppURL "http://www.holdchip.com/" #define MyAppExeName "HoldChipE......

backtrackx ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部