MATLAB と 64 ビット整数に問題があります。2^63-1 (MSB を除くすべてのもの) に相当するマスクが必要ですが、MATLAB はすべてを丸めているようです。
>> mask_fraction = uint64(9223372036854775807)
mask_fraction = 9223372036854775808 % This is 2^63 again, not 2^63-1!
同様に、
>> uint64(2^63)
ans = 9223372036854775808
>> uint64(2^63-1)
ans = 9223372036854775808
私の試みのもう1つは単に機能しません:
>> uint64(2^63) - 1
??? Undefined function or method 'minus' for input arguments of type 'uint64'.
考え?