簡體   English   中英

^運算符如何在Java中工作? 補充

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM