mor6anさんへ
シフト演算もビット演算も整数型のみ対応しています。(整数型の範囲外の数はOverflowとなる)
なお、実数型の数値で計算すると自動的に型変換が行われます。
これは、逆に言えば -1 AND A とか 0 OR A とか A>>0 で整数化できるということです。
ちなみにこの上記の方法による整数化はFLOORとは異なり、絶対値が小さくなる整数化なので負数の場合はFLOORとは挙動が変わります。
またFLOORは整数値にはしてくれますが、整数型にはならないため実数型と整数型で挙動が異なる自作関数を作っている場合には注意が必要です。
myu314さんへ
リストを拝見しましたが、現状では絶対値が2の-961乗以下の数は正しく動作しないですね。
正常動作させるためには場合分けが必要になります。