有很多腳本語言裡面沒有 都是 沒有 unsinged int 的,如 PHP。位運算 一般來說 int 和 unsinged int 沒有什麼差別,除了右移操作,在int 中是補1 在 unsinged int 中是補0,我想了好久,終於想到了一個比較妙的方法,只是,這個方法,右移的次數至少大於1。一般來說,0右移 沒有什麼意義。
(($a >> 1) & 0x7fffffff) >> ($n -1) 這裡$n 是右移的次數。 $n >= 1
比如,實現md5加密,一般來說要用到下面的函數,在PHP中可以這樣實現:
對加密解密比較感興趣的人,應該遇到過和我一樣的問題,不知道有沒有誰有更好的方法。