Pascal在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
显示目录

运算符



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

运算符

运算符是一个符号,它告诉编译器执行特定的数学或逻辑操作. Pascal允许以下类型的运算符 :

  • 算术运算符

  • 关系运算符

  • 布尔运算符

  • 位运算符

  • 设置运算符

  • 字符串运算符

让我们逐一讨论算术,关系,布尔和位运算符.稍后我们将讨论集合运算符和字符串运算.


算术运算符

下表显示了Pascal支持的所有算术运算符.假设变量 A 保持10,变量 B 保持20

运算符 描述 示例
+ 添加两个操作数 A + B=30
- 从第一个减去第二个操作数 A - B=-10
* 将两个操作数相乘 A * B=200
/ 将分子除以分母 B/A=2
模数运算符及其余的整数除法后 B%A=0

关系运算符

下表显示了Pascal支持的所有关系运算符.假设变量 A 保持10,变量 B 保持20,然后 :

运算符 描述 示例
= 检查如果两个操作数的值相等或不相等,如果是,则条件变为真. (A = B)不成立.
<> 检查两个操作数的值是否相等或不,如果值不相等,则条件变为真. (A<> B)为真.
> 检查左操作数的值是否大于右操作数的值,如果是,则条件成为是真的. (A> B)不是真的.
< 检查左边是否有值操作数小于右操作数的值,如果是,则条件变为真. (A< B)为真.
> = 检查价值是否为左操作数大于或等于右操作数的值,如果是,则条件变为真. (A> = B)不为真.
< = 检查价值是否为左操作数小于或等于右操作数的值,如果是,则条件变为真. (A< = B)为真.

布尔运算符

下表显示了Pascal支持的所有布尔运算符语言.所有这些运算符都处理布尔操作数并生成布尔结果.假设变量 A 保持为真,变量 B 保持为假,然后是 :

运算符 描述 示例
and 被叫布尔AND运算符.如果两个操作数均为真,则条件成立. (A和B)为假.
然后 它类似于AND运算符,但它保证了编译器评估的顺序逻辑表达.从左到右,仅在必要时评估右操作数. (A和B)为假.
or 被称为布尔运算符.如果两个操作数中的任何一个为真,则条件成立. (A或B)为真.
或者 它类似于布尔OR,但它保证了编译器评估的顺序逻辑表达式.从左到右,仅在必要时评估右操作数. (A或B)为真.
被称为布尔非运算符.用于反转其操作数的逻辑状态.如果条件为真,则Logical NOT运算符将使其为假. not(A和B)为真.

位运算符

按位运算符处理位并执行逐位运算.所有这些运算符都处理整数操作数并生成整数结果.按位和(&),按位或(|)和按位不是(〜)的真值表如下 :

p q p& q p 丨 q 〜p ~q
0 0 0 0 1 1
0 1 0 1 1 0
1 1 1 1 0 0
1 0 0 1 0 1

假设A = 60;和B = 13;现在采用二进制格式,它们将如下所示;

A = 0011 1100

B = 0000 1101

-----------------

A& B = 0000 1100

A ^ B = 0011 0001

~A  = 1100 0011

下表列出了Pascal支持的Bitwise运算符.假设变量A保持60,变量B保持13,则:

运算符 描述 示例
& Binary AND Operator将一些内容复制到结果中如果它存在于两个操作数中. (A& B)将给出12,即0000 1100
二进制OR运算符如果在任一操作数中存在,则复制一位. (A 丨 B)将给出61,即0011 1101
二进制OR运算符如果在任一操作数中存在,则复制一位.与丨相同. (A!B)将给出61,即0011 1101
二元一元补码运算符是一元的,具有'翻转'位的效果. (~A)将给出-61,由于带符号的二进制数,它是2的补码形式的1100 0011.
<< 二进制左移运算符.左操作数值向左移动右操作数指定的位数. A<< 2将给出240,即1111 0000
>> 二进制右移运算符.左操作数值向右移动右操作数指定的位数. A>> 2将给出15,即0000 1111

请注意,Pascal的不同实现在按位运算符方面有所不同.我们在这里使用的编译器Free Pascal支持以下按位运算符 :

运算符 运算
按位NOT
按位AND
按位OR
异或 按位异或OR
shl 按位向左移位
shr 按位向右移位
<< 按位向左移位
>> 按位向右移位

运算符优先级

运算符优先级确定表达式中的术语分组.这会影响表达式的计算方式.某些运营商的优先级高于其他运营商;例如,乘法运算符的优先级高于加法运算符.

例如x = 7 + 3 2;这里,x被赋值为13而不是20,因为operator 的优先级高于+,所以它首先乘以3 * 2然后加到7中.

这里,运算符最高优先级显示在表格的顶部,最低的优先级显示在底部.在表达式中,将首先评估更高优先级的运算符.

运算符 优先顺序
〜,not, 最高
*,/,div,mod,和&
丨,!,+, - 或,
=,<>,<,< =,> ,> =,in
或者,然后 最低
由JSRUN为你提供的Pascal在线运行、在线编译工具
        JSRUN提供的Pascal 在线运行,Pascal 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout