位运算符

六个运算符将数字数据视为由 1 和 0 组成的集合进行处理。例如,数字 5 和 6 的按位与(5&6)产生结果 4。数字 5 的二进制形式为 101。类似地,数字 6 为 110。如果将两个二进制数中每对对应位进行 And 运算,则得到 100,即数字 4 的二进制表示。

即:

     101      5 &     110      6       100      4

尽管 DScript 使用浮点表示法表示所有数字,但当您执行按位运算时,操作数首先被转换为 32 位整数。

每个按位运算符描述如下:

按位运算符

运算符 定义
按位与 x&y 如果 x 和 y 中两个对应位都为 1,则结果中该位为 1。
按位或 x
按位异或 x~y 如果 x 和 y 中对应位不同,则结果中该位为 1。
按位非 ~x 反转 x 中的所有位,即按位非将 x 中的所有零变为一,所有一变为零。
左移 x<<y 将 x 中的所有位向左移动 y 位。从左侧移出的位丢失。
右移 x>>y 将 x 中的所有位向右移动 y 位。从右侧移出的位丢失。如果 x 为正数,则在左侧移入零。如果 x 为负数,则移入一。
零填充右移 x>>>y 与右移相同,但无论 x 的符号如何,都在左侧移入零。