2011-02-24 88 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);来完成同样的事情。