BitAND
按位"与"运算.
BitAND ( 值1, 值2 [, 值 n] )
参数
值1 第一个数. 值2 第二个数. 值n [可选参数] 第N个数,最高可计算255个值.
返回值
返回所有参数进行按位与运算后的结果.
注意/说明
记住数值可使用十六进制符号(0x).
相关
BitNOT, BitOR, BitShift, BitXOR, Hex, BitRotate
示例/演示
$x = BitAND(13, 7) ;x == 5 ,因为 1101 AND 0111 = 0101
$x = BitAND(2, 3, 6) ;x == 2 ,因为 0010 AND 0011 AND 0110 = 0010
BitNOT
按位"取反"运算.
BitNOT ( 值 )
参数
值 要操作的数值.
返回值
返回对目标数值按位取反后的结果.
注意/说明
记住数值可使用十六进制符号(0x).
相关
BitAND, BitOR, BitShift, BitXOR, Hex, BitRotate
示例/演示
$x = BitNot(5)
#cs 注释:
结果为 -6,因为 32-位数字对应的:
5 == 00000000000000000000000000000101 二进制
-6 == 11111111111111111111111111111010 二进制
并且第一位带符号.
#ce
BitOR
BitOR 按位"或"运算.
BitOR ( 值1, 值2 [, 值 n] )
参数
值1 第一个数. 值2 第二个数. 值n [可选参数] 第N个数,最高可计算255个值.
返回值
返回所有参数进行按位或运算后的结果.
注意/说明
记住数值可使用十六进制符号(0x).
相关
BitAND, BitNOT, BitShift, BitXOR, Hex, BitRotate
示例/演示
$x = BitOR(3, 6) ;x == 7 因为 0011 OR 0110 = 0111
$x = BitOR(3, 15, 32) ;x == 47 因为 0011 OR 1111 OR 00100000 = 00101111
BitRotate
执行位移操作, 使用旋度.
BitRotate ( 值, 位移 [, 大小] )
参数
值 要被操作的值. 位移 Number of bits to rotate to the left (negative numbers shift right). If not given, the default is 1. 大小 [可选参数] A string that determines the rotation size, the default is (16 bits). See below.
返回值
Success: Returns the value rotated by the required number of bits. Failure: Set @error if size is invalid 位操作使用 32-位整数.
注意/说明
记住数值可使用十六进制符号(0x).
相关
BitShift, BitAND, BitNOT, BitOR, BitXOR, Hex
示例/演示
$x = BitRotate(7, 2)
; x == 3 因为 111b 左移两次是 1 1100b == 28
$y = BitRotate(14, -2)
; y == 32771 因为 1110b 右移两次 on 16 bits is 1000 0000 0000 0011b == 32771
$z = BitRotate(14, -2, "D")
; z == -2147483645 因为 1110b 右移两次 on 16 bits is 1000 0000 0000 0000 0000 0000 0000 0011b == 2147483645
BitShift
按位"移"运算.
BitShift ( 数值, 移位 )
参数
数值 要进行位移的数值. 移位 右移多少位(负数则左移).
返回值
返回按请求数位移后的值.
注意/说明
记住数值可使用十六进制.
相关
BitAND, BitNOT, BitOR, BitXOR, Hex, BitRotate
示例/演示
$x = BitShift(14, 2)
; x == 3 因为 1110b 右移两次是 11b == 3
$y = BitShift(14, -2)
; y == 56 因为 1110b 左移两次是 111000b == 56
$z = BitShift( 1, -31)
; z == -2147483648 因为是 2'补码记法, the
; 32nd digit from the right has a negative sign.
BitXOR
按位"异或"运算.
BitXOR ( 数值1, 数值2 [, 数值 n] )
参数
数值1 第一个数. 数值2 第二个数. 数值n [可选参数] 第N个数,最高可计算255个数.
返回值
返回所有参数进行按位异或运算后的结果.
注意/说明
记住数值可使用十六进制.
相关
BitAND, BitNOT, BitOR, BitShift, Hex, BitRotate
示例/演示
$x = BitXOR(10, 6) ;x == 12 因为 1010b XOR 0110b == 1100
$x = BitXOR(2, 3, 6) ;x == 7 因为 0010 XOR 0011 XOR 0110 = 0111
Hex
返回一个字符串表示的整数或者二进制数的的十六进制数值.
Hex ( 表达式 [, 长度] )
参数
表达式 待转换的表达式. 长度 [可选参数] 要返回的整数的十六进制数的字符数(最高为 8).
返回值
成功: 返回指定长度的字符串,如有需要则自动补零.
注意/说明
这个函数只能工作于32 位有符号整数(signed integer) (-2147483648 到 2147483647)
相关
Dec, BitAND, BitNOT, BitOR, BitRotate, BitShift, BitXOR
示例/演示
$result = Hex(1033, 4) ;将返回 "0409"
Dec
返回某十六进制数的十进制数值.
Dec ( "hex" )
参数
hex 要转换的十六进制字符串.
返回值
成功: 返回十进制数字. 失败: 返回值为0,并把 @error 设为 1,说明指定的十六进制数不合法或数值溢出.
注意/说明
本函数仅支持32位的带符号整数(-2147483648 到 2147483647)
相关
Hex
示例/演示
$dec = Dec("FFFF") ;返回数字 65535