pascal逻辑运算符与位运算符最近看到一段pascal算法 里面用了and 和 or 运算符 因为我对pascal不熟 所以把这段算法改写成了c调试,也就是把and 和 or改写成了 && 和 || ,刚刚我才发现我弄错了 其实

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 14:00:03
pascal逻辑运算符与位运算符最近看到一段pascal算法 里面用了and 和 or 运算符 因为我对pascal不熟 所以把这段算法改写成了c调试,也就是把and 和 or改写成了 && 和 || ,刚刚我才发现我弄错了 其实

pascal逻辑运算符与位运算符最近看到一段pascal算法 里面用了and 和 or 运算符 因为我对pascal不熟 所以把这段算法改写成了c调试,也就是把and 和 or改写成了 && 和 || ,刚刚我才发现我弄错了 其实
pascal逻辑运算符与位运算符
最近看到一段pascal算法 里面用了and 和 or 运算符 因为我对pascal不熟 所以把这段算法改写成了c调试,也就是把and 和 or改写成了 && 和 || ,刚刚我才发现我弄错了 其实算法的本意是使用位操作符而不是逻辑操作符
pascal里面逻辑操作符与位操作符是一样的 我想知道编译器是怎么判断什么时候使用位操作符而什么时候使用逻辑操作符呢
比如说 在pascal中 255 or 1 c中的 255 & 1 这样结果就是 255
同样也可以解释成c中的 255 && 1 这样的结果便是 1
谁能帮我解释一下pascal是怎么判断or是当成逻辑运算符来处理还是当作位运算符来处理呢?
1L
表达式计算完成之后也是数字
数字也是以变量形式来表示的 也可以说成是表达式吧
希望能把具体的依据发出来

pascal逻辑运算符与位运算符最近看到一段pascal算法 里面用了and 和 or 运算符 因为我对pascal不熟 所以把这段算法改写成了c调试,也就是把and 和 or改写成了 && 和 || ,刚刚我才发现我弄错了 其实
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)

pascal逻辑运算符与位运算符最近看到一段pascal算法 里面用了and 和 or 运算符 因为我对pascal不熟 所以把这段算法改写成了c调试,也就是把and 和 or改写成了 && 和 || ,刚刚我才发现我弄错了 其实 10、&和&&的区别.&是位运算符,表示按位与运算,&&是逻辑运算 位运算与与逻辑运算与的区别是什么? 按位运算与逻辑运算异同点是什么 逻辑运算符&&,||,中是短路运算符号是 C语言:求逻辑运算的详细运算?主要想知道异或( ^ ),位与( & ),位或 ( | )的具体运算,这几个没学过. 求c语言中关系运算符,逻辑运算符等等各种运算符的优先级! C语言中的按位运算符和逻辑运算符?C语言中的按位运算符和逻辑运算符的区别?书上有个例子:x=7,x&&8的值为真,x&8的值为假.怎模理解呢? 在VB中10 and 7逻辑与运算等于2是怎么算出来的书上说:如果逻辑运算符对数值进行运算,则以数字的二进制值逐位进行逻辑运算 10 and 7为二进制数1010与0111进行逻辑与运算,得到二进制值0010,结果 C语言的运算符的优先级:逻辑运算符、条件运算符、赋值运算符、关系运算符、算术运算符.它们之间的优先级 C语言中位运算符与逻辑运算符的细小差别:1、( (( y=1 ) == 0 ) && (( x=6 ) == 6 ) )2、( (( y=1 ) == 0 ) & (( x=6 ) == 6 ) )为什么1式中x的值仍为1,而2式中的x的值为6,这是怎么算的? c语言逻辑运算符,关系运算符,算术运算符,园括号的优先级是怎么样的 EXCEL中运算符的优先级别的顺序是怎么定的?逻辑运算符.算术运算符.关系运算符逻辑运算符.算术运算符.关系运算符的优先级别的高低是怎么排列的?连接运算符就是这里的逻辑运算符么? 在Excel2003的公式中,可以使用的运算符有_____ A:算术运算符 B:文本运算符 C关系运算符 D逻辑运算符 多项 在拓展的问一下:按位运算和逻辑运算的优先级. 这个程序用pascal语言怎么写?内容:输入两个数值(均不为零)及一个算术运算符,输出其运算的结果(保留两位小数). 在VBA中,一个表达式中同时含有算数运算符关系运算符、关系运算符和逻辑运算符,其运算次序是____.在VBA中,一个表达式中同时含有算数运算符关系运算符、关系运算符和逻辑运算符,且不含有 计算机 算术运算符和逻辑运算 0 or 0 and 1 怎么计算为什么答案是0