Sun Studio 12: Fortran ライブラリ・リファレンス

1.4.36 mvbits: ビットフィールドの移動

サブルーチンは、次のように呼び出します。

call mvbits( src, ini1, nbits, des, ini2 )

src

INTEGER*4

入力 

移動元 

ini1

INTEGER*4

入力 

移動元でのビットの初期位置 

nbits

INTEGER*4

入力 

移動させるビット数

des

INTEGER*4

出力 

移動先 

ini2

INTEGER*4

入力 

移動先でのビットの初期位置 

例: mvbits:


demo% cat mvb1.f
* mvb1.f -- 移動元 src の初期ビット位置 0 から 3 ビットを des の 
*           ビット 3 へ移動
*    src    des
* 543210 543210 <- ビット番号
* 000111 000001 <- 移動前の値
* 000111 111001 <- 移動後の値
       INTEGER*4 src, ini1, nbits, des, ini2
       data src, ini1, nbits, des, ini2
     1    / 7,    0,     3,   1,    3 /
       call mvbits ( src, ini1, nbits, des, ini2 )
       write (*,"(5o3)") src, ini1, nbits, des, ini2
       end
demo% f95 mvb1.f
demo% a.out
  7  0  3 71  3
demo%

次の点に注意してください。