OpenBoot 3.x コマンド・リファレンスマニュアル

単精度整数演算

表 4-5に示すコマンドは、単精度整数演算を行います。

表 4-5 単精度演算機能

コマンド 

スタックダイアグラム 

説明 

+

( nu1 nu2 -- sum ) 

nu1 + nu2 の加算を行います。

-

( nu1 nu2 -- diff ) 

nu1 - nu2 の減算を行います。

*

( nu1 nu2 -- prod ) 

nu1 * nu2 の乗算を行います。

*/

( n1 n2 n3 -- quot ) 

nu1 * nu2 / n3 を計算します。入力、出力、中間値はすべて 1 つのセルに入ります。

/

( n1 n2 -- quot ) 

n1n2 で割ります。剰余は捨てられます。

1+

( nu1 -- nu2 ) 

1 を足します。 

1-

( nu1 -- nu2 ) 

1 を引きます。 

2+

( nu1 -- nu2 ) 

2 を足します。 

2-

( nu1 -- nu2 )  

2 を引きます。 

abs

( n -- u ) 

絶対値。 

bounds

( start len -- len+start start ) 

do または ?do ループ用に startlenendstart に変換します。

even

( n -- n | n+1 ) 

最も近い偶数の整数 >= n に丸めます。

max

( n1 n2 -- n3 ) 

n1 と n2 の大きいほうの値を n3 とします。 

min

( n1 n2 -- n3 ) 

n1 と n2 の小さいほうの値を n3 とします。 

mod

( n1 n2 -- rem ) 

n1 / n2 の剰余を計算します。

*/mod

( n1 n2 n3 -- rem quot ) 

n1 * n2 / n3 の剰余と商。

/mod

( n1 n2 -- rem quot ) 

n1 / n2 の剰余と商。

negate

( n1 -- n2 ) 

n1 の符号を変更します。

u*

(u1 u2 -- uprod ) 

符号なしの 2 つの数値を乗算し、符号なしの積を生じます。 

u/mod

( u1 u2 -- urem uquot ) 

符号なし 1 セル数値を符号なし 1 セル数値で割り、 1 セルの剰余と商を生じます。 

<<

( x1 u -- x2 ) 

lshift の同義語。

>>

( x1 u -- x2 ) 

rshift の同義語。

2*

( x1 -- x2 ) 

2 を掛けます。 

2/

( x1 -- x2 ) 

2 で割ります。 

>>a

( x1 u -- x2 ) 

x1u ビット 右に算術シフトします。

and

( x1 x2 -- x3 ) 

ビット単位の論理積。 

invert

( x1 -- x2 ) 

x1 の全ビットを反転します。

lshift

( x1 u -- x2 ) 

x1u ビット左シフトし、下位ビットにゼロを埋め込みます。

not

( x1 -- x2 ) 

invert の同義語。

or

( x1 x2 -- x3 ) 

ビット単位の論理和。 

rshift

( x1 u -- x2 ) 

x1u ビット右シフトし、上位ビットにゼロを埋め込みます。

u2/

( x1 -- x2 ) 

1 ビット右へ論理シフトし、上位ビットにゼロをシフトします。 

xor

( x1 x2 -- x3 ) 

ビット単位排他的論理和。