回答
052
是octal(基數8)的文字。
0x2a
是hexadecimal(基數爲16)的文字。
System.out.println(0x2a)
使用六角字面(0x
前綴表明這一點),其具有一個42
十進制等效。
System.out.println(052)
使用一個八進制字面(導致0
指示此),其中有一個十進位等值是42
。
System.out.println
將根據其十進制表示形式打印整數。如果要保留十六進制,請嘗試使用System.out.printf("%x\n", 0x2a)
,或者,對於八進制,請使用"%o"
代替"%x"
。
@ Slavemaster:感謝您的編輯。 – kosa
052
,0x2a
和42
是寫(十進制,基部)數的所有不同的方式:
052
是八進制,或鹼0x2a
是十六進制或基數42
是大家熟悉的小數,基地
Java允許你在代碼中使用任何這些不同格式的字面意義使用號碼:使用前導0x
指定十六進制或領先零,0
來指定八進制。
這與二進制有關,因爲你用java做的任何事情都與二進制有關。
順便提一下,所述二進制,42基部表示爲:101010
。您還可以在java中使用二進制文字,前面帶有0b
,所以0b101010 == 0x2a
。
052,從0開始,所以這是一個八進制數,因此8 * 5 + 2 = 42 0x2a以0x開始,所以這是一個十六進制數,因此16×2 +α= 32 + 10 = 42
052
是一個八進制文字,相當於0 * 8^2 + 5 * 8^1 + 2 * 8^0
。 0x2a
是一個十六進制文字,相當於2 * 16^1 + 10 * 16^0
。
5 * 8 + 2
和2 * 16 + 10
可以被看作是等同的,因爲5 * 8
相當於4 * 8 + 8
,和8 + 2
等於10
。
- 1. 的Java的System.out.println()
- 2. Java System.out.println格式
- 3. Java遞歸System.out.println()
- 4. Java system.out.println控制檯
- 5. 的Java的System.out.println單引號
- 6. 易變與Java中的System.out.println()
- 7. 適用於ChromeCast的Java API
- 8. 適用於Java的項目
- 9. 適用於Java的UPnP庫
- 10. 適用於Java的Automapper
- 11. 適用於Java的Eurekalog
- 12. 適用於MongoDB的Java API
- 13. 適用於Java的CSV API
- 14. 適用於Unix的Java API
- 15. 適用於Java的REST API?
- 16. 對於System.out.println()的JUnit測試()
- 17. java差異StdOut vs System.out.println
- 18. Deploy.jar不適用於Java 7
- 19. AspectJ適用於Java 7嗎?
- 20. system.out.println等同於閃存
- 21. System.out.println()在Java中有副作用嗎?
- 22. Sparql Select Query適用於Sesame-Workbench,但不適用於Java
- 23. Java Hello World適用於ubuntu,不適用於Cygwin
- 24. 處理草圖適用於Java,但不適用於JavaScript模式
- 25. Java AudioInputStream適用於一個項目,但不適用於其他
- 26. Java正則表達式適用於Linux,但不適用於Windows
- 27. xpath字符串適用於chrome但不適用於java selenium
- 28. 查詢適用於phpMyAdmin,但不適用於Java
- 29. Java程序適用於Windows,但不適用於Mac
- 30. Java方法適用於Windows,但不適用於Macintosh?
你是什麼意思? – OpMt
請參閱Wikipedia鏈接。 – SLaks
我明白了,謝謝!所以指數,他們從0開始到數字中有多少個整數/字母,所以在0x2a的情況下,16被提升到第三,然後是第二,然後是第一,然後是零功率? – OpMt