# **二进制运算符**

| 名称 | 描述|
|---|-----|
| [&](bitwise-and.md) | 位运算符与，按位与 |
| [>>](right-shift.md) | 位移运算符右移 |
| [<<](left-shift.md) |位移运算符左移 |
| [^](bitwise-xor.md) |按位异或 |
| [\|](bitwise-or.md) |位运算符或，按位或|
| [~](bitwise-inversion.md) |一元运算符，二进制取反 |

位函数和运算符通常与整数数据类型一起使用，不能直接应用于其他数据类型，例如，float，double 等。即，需要与 BIGINT(64 位整数) 参数一起使用并返回 BIGINT 值，因此它们的最大范围为 64 位。非 BIGINT 参数在执行操作之前被转换为 BIGINT，可能整数位数会被截断，例如，10.6496 和 -10.6496 在转换到 INT 类型期间可能会被截断或者被舍入。

位函数和操作符允许二进制字符串类型实参 (BINARY、VARBINARY 和 BLOB 类型) 并返回其同类型的值，这使它们能够接受实参并产生大于 64 位的返回值。非二进制字符串参数则被转换为 BIGINT 类型。
