0
我需要得到x%16
,其中x是long
。我的編譯器給我的錯誤使用int和long進行操作
「可能的精度損失。required:int; found:long。」
我該如何解決這個問題?
編輯:哎呀,我沒有意識到我可以把整個東西都當作一個整型,我認爲它只能把int作爲一個整型(這會很糟糕)才能使它合作。
我需要得到x%16
,其中x是long
。我的編譯器給我的錯誤使用int和long進行操作
「可能的精度損失。required:int; found:long。」
我該如何解決這個問題?
編輯:哎呀,我沒有意識到我可以把整個東西都當作一個整型,我認爲它只能把int作爲一個整型(這會很糟糕)才能使它合作。
有兩件事情可以嘗試:
x % 16L
x & 0x0000000FL
//你不需要零; 0xFL應該可以工作。這兩種技術都會導致long
而不會丟失精度。如果你想要一個int
,在對它進行操作之前,只需將x轉換爲int
,並刪除L後綴。