我在使用 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
我的另一项尝试根本行不通:
>> uint64(2^63) - 1
??? Undefined function or method 'minus' for input arguments of type 'uint64'.
想法?