Sun Studio 12:Fortran 库参考

3.5.3 VMS 位操作

表 3–11 VMS 位操作函数

通用名称 

专用名称 

功能 

参数类型 

结果类型 

IBITS

IIBITS

JIBITS

KIBITS

a1 中初始位 a2 提取 a3 个位

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

ISHFT

IISHFT

JISHFT

KISHFT

a1 逻辑移动 a2 个位;如果 a2 是正数,则向左移动;如果 a2 是负数,则向右移动

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

ISHFTC

IISHFTC

JISHFTC

a1 中,将右边的 a3 个位循环移动 a2 个位置

-

INTEGER*2

INTEGER*4

-

INTEGER*2

INTEGER*4

IAND

IIAND

JIAND

a1a2 的按位 AND

-

INTEGER*2

INTEGER*4

-

INTEGER*2

INTEGER*4

IOR

IIOR

JIOR

KIOR

a1a2 的按位 OR

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

IEOR

IIEOR

JIEOR

KIEOR

a1a2 的按位互斥 OR

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

NOT

INOT

JNOT

KNOT

按位补充 

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

IBSET

IIBSET

JIBSET

KIBSET

a1 中,将位 a2 设置为 1;返回新的 a1

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

BTEST

BITEST

BJTEST

BKTEST

如果 a1 的位 a2 为 1,则返回 .TRUE.

-

INTEGER*2

INTEGER*4

INTEGER*8

-

LOGICAL

LOGICAL

LOGICAL

IBCLR

IIBCLR

JIBCLR

KIBCLR

a1 中,将位 a2 设置为 0;返回新的 a1

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8