Re: [問題] 'AND' bitwise 運算
※ 引述《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 可能是最佳解? ^^|)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.121.78.5
※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1448301557.A.424.html
推
11/24 09:34, , 1F
11/24 09:34, 1F
推
11/24 09:38, , 2F
11/24 09:38, 2F
→
11/24 09:39, , 3F
11/24 09:39, 3F
→
11/24 09:40, , 4F
11/24 09:40, 4F
推
11/24 13:22, , 5F
11/24 13:22, 5F
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章