http://projecteuler.net/index.php?section=problems&id=16
ビット演算子は同じ記号を3つ重ねます。&&&, |||, ^^^, ~~~, <<<, >>> があります。
多倍長整数もビット演算できます。
let rec digits n = if n = 0I then [] else (digits (n / 10I)) @ [int (n % 10I)] printfn "%d" (List.sum (digits (1I <<< 1000)))