2011-02-24 118 views
0

字節轉換上的以下數字如何在右側給出結果?我想當你將一個整數轉換爲一個字節數組時,它應該將該數字的每個數字轉換爲其相應的4字節數組。但這裏是無法理解..將整數轉換爲字節

727 = 000002D7

1944 = 00000798

42 = 0000002A

編輯:我正在讀一博客,我發現以下這些行: -

如果我們例如,正在處理整數列名稱,那麼每個列名稱都是4個字節長。讓我們從列名727,1944年和42

與這三個數字相關聯的字節工作:

727 = 000002D7

1944 = 00000798

42 = 0000002A

連結此博客: http://www.divconq.com/2010/why-does-cassandra-have-data-types/

+5

向我們展示您嘗試過的一些代碼。 – asgs 2011-02-24 04:01:32

+0

看起來不錯...打印的值是十六進制等值。 – CMR 2011-02-24 04:09:28

+0

它被轉換爲十六進制&然後十六進制存儲爲字節數組?但爲什麼?? – 2011-02-24 04:11:20

回答

1

解決方案

下面會給你確切的輸出在你的榜樣:

public class Main 
{ 
    public static void main(final String[] args) 
    { 
     System.out.format("%08X\n", 727); 
     System.out.format("%08X\n", 1944); 
     System.out.format("%08X\n", 42); 
    } 
} 

,這裏是預期輸出:

000002D7 
00000798 
0000002A 

說明

如何Formatter工作,格式從右到左字符串表示,x =格式爲十六進制,08 =填充到左邊的八個字符與0%標記模式的開始。

您也可以使用String.format("%08X", 727);來完成同樣的事情。