[英]How the ^ operator works in java? Supplemental
在^運算符在Java中做什么下,也提出了類似的問題。
但我認為缺少了一些東西。
根據@Carl Smotricz的示例,“定義按位XOR的一種簡單方法是,在兩個輸入數字不同的每個位置,結果都為1。”
所以:
0101 ^ 0100 = 0001(5 ^ 4 = 1)
這很清楚,但是有什么用:
基於該邏輯的15 ^ 4:1111 100
應該為0111,但編譯器給出:1011。
即使使用以下命令,它也不起作用: 邏輯OR:
假|| 錯誤: 錯誤
假|| true: 正確
真實|| 假: 真
真實|| true: 正確
當將按位運算符應用於采用不同位數表示的數字時,您需要添加前導零以使它們“對齊”。
在您的15和4的示例中:
15的確是1111
。 4是100
,您需要添加前導零以“填充”最多四個位,即0100
。 現在,他們之間的異或應該給予1
-在兩個不同的位的任何位置1011
,這是導致嘗試自己當你觀察到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.