爲什麼以及如何操作 System.out.println(〜4); 給出輸出-5 和 System.out.println(〜0); 給出-1?Java中的二進制補碼操作符
4
A
回答
10
4 is 00000000 00000000 00000000 00000100
~4 is 11111111 11111111 11111111 11111011 = -5
0 is 00000000 00000000 00000000 00000000
~0 is 11111111 11111111 11111111 11111111 = -1
+0
找到最簡單的答案來補充任何操作員! – Apurva 2015-03-19 08:32:48
0
1
一些否定逆轉它的位。但是在邏輯上把 - (負號)標誌放在數字上就變成了1+(~x)
。
由於-x = 1+(~x)
從而(~x) = -x -1
相關問題
- 1. 二進制補碼
- 2. std_logic_vector的二進制補碼
- 3. 十進制數的二進制補碼
- 4. 7位二進制補碼
- 5. 二進制補碼stm32 c
- 6. 二進制補碼算術
- 7. 二進制補碼錶示
- 8. 二進制補碼查詢
- 9. 16位二進制補碼
- 10. 二進制補碼轉換
- 11. 二進制補碼減法
- 12. 二進制中最小的二進制補碼
- 13. Verilog中的二進制補碼
- 14. libtommath庫中的二進制補碼
- 15. 將十六進制(二進制補碼)轉換爲Java值
- 16. 在二進制中設置二進制補碼
- 17. 在Python中使用二進制補碼
- 18. 帶分數的二進制數的二進制補碼
- 19. 有符號整數到二進制補碼十六進制
- 20. One的二進制補碼8位有符號的大小,以二進制
- 21. 無效的二進制操作符^
- 22. 基數的二進制補碼二進制數
- 23. 無法理解的Java二進制補
- 24. 使用符號幅度和二進制補碼的二進制算術
- 25. 長整數的二進制補碼
- 26. 二進制補碼的Tmax和Tmin
- 27. VB.NET中無符號整數的二進制補碼
- 28. Python中十六進制數的二進制補碼
- 29. NSString的二進制操作
- 30. 用二進制補碼查找二進制數,C
整數Java中使用兩種的completement,不是一個人的補充,而你正在使用的運營商被稱爲按位取反,而不是「二進一個補」 – fge 2015-03-19 08:21:15
@fge,但*是*叫的人補充。 – harold 2015-03-19 09:49:45
這就是@harold。補碼是最常用的術語,其次是「按位不」。我從來沒有聽說過「按位否定」這個詞。雖然我看到這個詞也是合法的,但它與「否定」很接近,實際上它是2s的補充,而不是OP所問的。由於潛在的混淆,我會避免使用該術語。 – BobDoolittle 2016-05-03 21:39:55