pascal 中shl的意思
发布网友
发布时间:2022-04-26 22:07
我来回答
共5个回答
热心网友
时间:2023-11-08 22:33
shl 是逻辑左移指令,每移一位相当于把源操作数乘以2.
格式:SHL(或SHR) OPR,CNT
逻辑左移/右移指令只有它们的移位方向不同,移位后空出的位都补0。
注:逻辑移位指令常用于无符号数*2或/2,受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。
另外,shl 不是pascal 语言本身的指令,是属于汇编语言中的指令。 关于移位指令,有算术左移指令sal和算术右移指令sar, 逻辑左移SHL和逻辑右移SHR,循环左移ROL和循环右移ROR。386及其后继机型可以使用的SHLD双精度左移和SHRD 双精度右移
热心网友
时间:2023-11-08 22:34
就是 div 2的x次方。。
比如 x shl 1 等同于 x div 2
x shl 2 等同于 x div 4
据说 shl1要比div 2快一点~~但是 对于oi来说 可以忽略
热心网友
时间:2023-11-08 22:33
shl 是逻辑左移指令,每移一位相当于把源操作数乘以2.
格式:SHL(或SHR) OPR,CNT
逻辑左移/右移指令只有它们的移位方向不同,移位后空出的位都补0。
注:逻辑移位指令常用于无符号数*2或/2,受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。
另外,shl 不是pascal 语言本身的指令,是属于汇编语言中的指令。 关于移位指令,有算术左移指令sal和算术右移指令sar, 逻辑左移SHL和逻辑右移SHR,循环左移ROL和循环右移ROR。386及其后继机型可以使用的SHLD双精度左移和SHRD 双精度右移
热心网友
时间:2023-11-08 22:34
a shl b
将a的二进制形式向左移动b位,后面补零
同理有 shr
热心网友
时间:2023-11-08 22:35
就是把十进制的数先转化成2进制的然后看shl后面的数字是几,就把小数点往左移动几位,然后舍弃小数点后的位数,转化成十进制
热心网友
时间:2023-11-08 22:36
shl就是左移
x shl a
即x:=x*power(2,a)
但快N多
热心网友
时间:2023-11-08 22:34
就是 div 2的x次方。。
比如 x shl 1 等同于 x div 2
x shl 2 等同于 x div 4
据说 shl1要比div 2快一点~~但是 对于oi来说 可以忽略
热心网友
时间:2023-11-08 22:34
a shl b
将a的二进制形式向左移动b位,后面补零
同理有 shr
热心网友
时间:2023-11-08 22:35
就是把十进制的数先转化成2进制的然后看shl后面的数字是几,就把小数点往左移动几位,然后舍弃小数点后的位数,转化成十进制
热心网友
时间:2023-11-08 22:36
shl就是左移
x shl a
即x:=x*power(2,a)
但快N多