Java에서 中以 2 進位字串印出整數

4430 단어 java
Java 提供 雖然 有 有 類似 c 的 printf(), 不過 可 可 選用 的 的 格式 卻 沒有 2 進位 整數, 如果 需要 需要 將 將 整 數 數 以 2 進位 字串 印出, 可以 使用 Integer 類別 提供 的 兩 個 類別 方法 方法 方法...

정수.toString()



Integer.toString() 在輸出整數時可以指定進位制, 例如以下以 2 進位印出整數 100:

jshell> Integer.toString(100, 2)
$10 ==> "1100100"


제 2 個參數就是進位制, 你甚至可以任意指定, 像是以下就是用 3 進位印出整數 100:

jshell> Integer.toString(100, 3)
$11 ==> "10201"


不過這個方法在輸出負數的時候, 是以正負號加上數值絕對值的 2 進位字串來表示, 例如以 2 進位印出 -10 的結果就會是:

jshell> Integer.toString(-10, 2)
$9 ==> "-1010"


如果你要在程式中以 2 進位方式表達負整數的字面值 (literal), 就可以用類似的方法, 例如:

jshell> a = -0b1010
a ==> -10


如果你希望看到 -10 在記憶體中真正的表示方式, 就不能使用此方法.

정수.toBinaryString()



정수 類別提供有專門輸出 2 進位字串的 toBinaryString() 類別方法, 它會輸記出憶體中整數的實際 2 進位表示結果, 例如:

jshell> Integer.toBinaryString(100)
$7 ==> "1100100"

jshell> Integer.toBinaryString(-10)
$8 ==> "11111111111111111111111111110110"


你 你 看到 會 負數 時 時, 是 2 的 2 的 補數 呈現 呈現, 而且 為了 避免 誤解, 它 會 呈現 完整 完整 的 32 個 位 元 元, 以便 讓 你 看到 左邊 左邊 的 位元 都 是 是 在 輸出 輸出 正數 正數 的 時候,即使不顯示左側的 0 位元也不會造成誤解, 所以只會呈現有效的位元數, 左側未出現的位元都是 0.

정수 類別也提供 toHexString() 以及 toOctalString() 讓你可以將整數輸出成 16 進位字串或 8 進位字串, 有需要時都可以好好利用.

小結



能夠 能夠 呈現 呈現 2 進位 結果 對於 對於 我們 理解 整 整 數 數 的 儲存 方式 方式 與 正 負數 負數 轉換 很 有 幫助 幫助 幫助 幫助 有些時候 我們 也 也 的確 需要 需要 呈現 2 進位 結果 時, 本文 介紹 的 方法 就 可以 派上 用場 用場 了 了 了 方法 方法 方法 方法 方法 方法 方法

좋은 웹페이지 즐겨찾기