Re: [問題] 'AND' bitwise 運算

作者: CindyLinz (Cindy Wang)   2015-11-24 15:50:46
※ 引述《CindyLinz (Cindy Wang)》之銘言:
: ※ 引述《rkcity (喵。罐頭)》之銘言:
: : 今天在寫個小tool的時候發現
: : Perl 的 & 運算好像怪怪的...
: : Source:
: : $value = 4294967296;
: : print ($value & 0xFFFFFFFF);
: : Output:
: : 4294967295
: : Expect:
: : 預期應該是0
: : Excute Perl Online:
: : http://codepad.org/9qM322Vf
: : 最後我用mod先解掉了..
: : 似乎是只要大於4294967295(0xFFFFFFFF) 就會這樣
: : 即使mask設成 0x00000000FFFFFFFF 也是一樣結果
: : 請問這有辦法解決嗎?
: 你的 Perl 是 32bits 版本 (大概你的機器環境是 32bits 的?),
: 所以無號整數的範圍最大是 4294967295,
: 常數寫超過的時候 Perl 會讓它停在這個最大值..
: 解法... 可以找 64bits 機器環境使用 64bits 的 Perl.. ^^|
: (嗯, 因為不知道你真實的需求是什麼, 如果只看這幾行的話,
: 直接寫 print 0 可能是最佳解? ^^|)
:
作者: abliou (愚者)   2015-11-24 16:05:00
Cindy是好人!!
作者: Neisseria (Neisseria)   2015-11-24 22:21:00
這招不錯,筆記一下
作者: rkcity (喵。罐頭)   2015-11-24 23:16:00
感謝Cindy大
作者: cutekid (可愛小孩子)   2015-11-26 15:20:00
推(Y)
作者: uefang (雞~雞~雞~雞~)   2014-04-01 22:18:00

Links booklink

Contact Us: admin [ a t ] ucptt.com