簡體   English   中英

Java版System.out.println

[英]System.out.println for Java

System.out.println(052)System.out.println(0x2a)都如何打印42?

這和二進制有關系嗎?

052八進制 (以8為底)文字。
0x2a十六進制 (以16為底)文字。

System.out.println(0x2a)使用十六進制文字( 0x前綴表示此內容),其十進制等效值為42

System.out.println(052)使用八進制文字(前導0表示此),其十進制等效值為42

System.out.println將根據它們的十進制表示形式打印整數。 如果要保留十六進制,請嘗試System.out.printf("%x\\n", 0x2a) ,或者對於八進制,請使用"%o"代替"%x"

0520x2a42是寫入的所有不同的方式(十進制,基部10)編號42:

  • 052八進制或以8為底
  • 0x2a十六進制或以16為底
  • 42是熟悉的小數 ,以10為

java允許您使用以下任何一種不同格式在代碼中按字面使用數字:使用前導0x指定十六進制,或使用前導零, 0指定八進制。

這與二進制有關,因為與Java有關的一切都與二進制有關。

順便說一句,42的二進制基數2表示為: 101010 您還可以在Java中使用二進制文字,方法是在它們前面加上0b ,這樣0b101010 == 0x2a

052,從0開始,所以它是一個八進制數,因此8 * 5 + 2 = 42 0x2a從0x開始,所以它是一個十六進制數,因此16 * 2 + a = 32 + 10 = 42

052是八進制文字,等效於0 * 8^2 + 5 * 8^1 + 2 * 8^0 0x2a是十六進制文字,等效於2 * 16^1 + 10 * 16^0

5 * 8 + 22 * 16 + 10可以看作是等效的,因為5 * 8等於4 * 8 + 8 ,而8 + 2等於10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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