位运算符
六个运算符将数字数据视为由 1 和 0 组成的集合进行处理。例如,数字 5 和 6 的按位与(5&6)产生结果 4。数字 5 的二进制形式为 101。类似地,数字 6 为 110。如果将两个二进制数中每对对应位进行 And 运算,则得到 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 的符号如何,都在左侧移入零。 |