所以这是由patdeegan提供的Skip32的ruby实现:
https://github.com/patdeegan/integer-obfuscator/blob/master/lib%2Fcipher%2Fskip32.rb
我目前正在使用这个patdeegan / integer-obfuscator创建一个与我的每个db ID相对应的非顺序ID。问题是,我需要这个ID介于0和((2 ^ 31)-1)之间,并且上面生成的ID最多可达((2 ^ 32)-1)
我对按位运算几乎一无所知,但this article似乎表示他们调整了Skip32以仅在31位上生成一个整数。
有人知道这需要如何调整并向我解释吗?