pascal中位运算符有哪些?是什么意思?

作者&投稿:丁狮 (若有异议请与网页底部的电邮联系)
pascal逻辑运算符与位运算符~

Pascal中不同类型的相互赋值是不允许的。
例如
声明了
var i:integer; c:char;
(相当于:int i; char c;)
如果有语句
i:=c; (相当于i=c)
则会报错,必须写成
i:=ord(c); 或者 i:=integer(c);
进行数据类型的转换。

所以如果有语句:
if i=c then ...
(相当于 if (i=c) ...)
那么程序同样会报错!

你所说的情况,Pascal会自动判断两边是否为Boolean类型(bool类型),
如果不是则进行按位运算,如果是则执行布尔运算。

例如:
var i,j,n:byte;
(unsinged short int i,j,n;)

n:=i and j;
表示按位运算

var i,j,n:boolean;
(bool i,j,n;)

n:=i and j;
表示逻辑运算。
(虽然可以有i=2 j=1但是它们的逻辑与仍然为真,值为1)

@表示取地址运算,例如p:=@x;把变量x的地址取出来,赋予指针变量p
and可以作为逻辑运算,表示与,例如(x>0)and(x<10),除此以外and、shl、shr、xor还是位运算,对两个整数的二进制形式的位进行运算,and是与、shl是左移、shr是右移、xor是异或
in是集合运算,判断是否在集合中,例如:
var
s:set
of
char;
c:char;
begin
s:=['a','e','i','o','u'];
readln(c);
if
c
in
s
then
writeln('是元音')
else
writeln('不是元音');
end.

有shr,shl,and,or,xor.

shr是将一个数在二进制上右位移,如7 shr 1= 3,即 111 右移 1 位,得11,为十进制的3.

shl是将一个数在二进制上左位移,如7 shl 1= 14,即 111 左移 1 位,得1110,为十进制的14.

and是将两个数用二进制的方法计算,如5 and 6=4,即 101 and 110 =4
11取1,10取0,00取0,所以101 and 110 = 100 ,为十进制的4.

or是将两个数用二进制的方法计算,如5 and 6=8,即 101 and 110 =8
11取1,10取1,00取0,所以101 or 110 = 111 ,为十进制的8.

xor是将两个数用二进制的方法计算,如5 and 6=3,即 101 and 110 =3
10取1,01取1,00取0,11取0, 所以101 and 110 = 011 ,为十进制的3.

换一种方法理解,1代表True,0代表False,同位运算,即是 and 必须是 True and True 才成立,为True(1),否则为False(0),如110 和101从右数第一位1,0取0,第二位0,1取0,第三位1,1取1,即为100,等于4.

其他的也是,or就是“或”,and是“与”,xor是“异或”,即True and False exit True else exit False。

这就是位运算。

在pascal语言中.xor是什么意思
答:or,and,xor是位运算的操作符 xor乃是异或操作 === 1. and运算 === and运算通常用于二进制取位操作,例如一个数 and 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数.=== 2. or运算 === or运算通常用于二进制特定...

pascal运算符
答:位运算NOT由否定号(~)表示,它是与二进制算术有关的运算符之一。位运算NOT是三步的处理过程:(1) 把运算数转换成32位数字;(2) 把二进制形式转换成它的二进制反码;(3) 把二进制反码转换成浮点数。位运算NOT实质上是对数字求负,然后减1,因此1变为-2。参考资料:http://book.csdn.net/bo...

pascal中xor到底是什么东西 使用的具体原理是什么
答:(1)做逻辑运算符使用时,与and,or,not有着相似的性质。true xor false = true false xor true = true true xor true = false false xor false = false 两个布尔值相同,xor结果为false,不同为true。(2)做位运算符:按位异或。同一位上相同,则结果这一位为0,不同为1。例如:2 xor...

free Pascal 运算符
答:逻辑运算符 and 即表达式都为true,则值为true 否则为false or 至少一个表达式为true,则值为true 否则为false not 表达式为true 值为false 反之亦然 位运算符 http://zhidao.baidu.com/question/140825018.html?si=10 这里说的很清楚了 这些都知道的话 做一般的题应该就够用了 剩下的...

「2.Delphi语法基础」4.Object Pascal运算符与表达式
答:1.算术运算符 Object Pascal 中的算术运算符:2.算术运算符的优先级 同级运算自左至右进行运算,表达式中右圆括号,则先计算括号内的表达式,如果有多层括号,先计算内层括号中的表达式。3.算术表达式 符合 Object Pascal 规定的算术表达式要考虑三个方面:语法、优先级、类型。我们举例说明:例如:逻辑...

pascal 语言中shl的用法
答:shl 意思是按位左移运算,在计算机中所有的数据类型都用一串0/1来表示 (00001)2 shl 1 =(00010)2 (00101)2 shl 2 =(10100)2 因为二进制每左移一位相当于乘以一个2,所以有1楼的那个公式。另外还有shr 按位右移,他们都属于位运算符。

pascal 中shl 和shr函数的应用
答:SHL: x SHL n把x换成二进制后向左移n位,相当于 把x 乘以 2n SHR: x SHR n 把x换成二进制后向右移n位,相当于 把x 除以 2n

pascal教程中的符号是什么意思?
答:or 逻辑或按位或运算 xor 逻辑或按位异或运算 关系及比较运算符(最低优先级)= 判断是否相等 <> 判断是否不相等 < 判断是否小于 > 判断是否大于 <= 判断是否小于或等于,或是否是一个集合的子集 >= 判断是否大于或等于,或是否是一个集合的父集 in 判断是否是集合成员 is 判断对象是否类型兼容 (...

^什么符号
答:表示一种位逻辑运算符时,按位异或(Xor)是一种可逆运算符,只有在两个比较的位不同时其结果是1,否则结果为0。因此在计算时应先将数值转为二进制,进行位比较,然后把所得的结果转换为原来的进制数。表示“Ctrl”键即计算机上表示组合键时,该符号通常表示为“Ctrl”键。Pascal中,用来定义指针类型...

pascal语言里XOR、OR的意义及详细用法
答:A xor B=true的条件比A or B=true的条件更严格。也就是说,如果A xor B值为true,A or B必为true。你也可以理解为xor范围比or小。pascal中,xor与or运算不仅限于表达式和布尔型量,比如21 xor 2。这是怎么计算呢?方法是按位或(异或)。把21,2均转化为二进制数(分别为10101,10),再...