2016年5月2日 星期一

避免數值超過 64bit long 的長度跟overflow 溢出 & 0x7fffffffffffffff

要避免數值溢出
使用 mask 的方式來避免

 a & 0x7fffffffffffffff

0x7fffffffffffffff 為64bit long 下 的最大值 ,也就是使用bit 表示 你會看到一串 1111...1111

使用 & 來做 mask , 當位數限制在 long long 的長度 ,才允許留下來。

如此就可以做到避免數值超過 64bit long 的長度跟overflow 溢出

只要使用 & 0x7fffffffffffffff 即可

沒有留言:

張貼留言