在java中从0x0000循环到0xfff

时间:2014-04-01 09:30:12

标签: java

我想创建一个循环来增加从0x0000开始到以0xffff结尾的十六进制值。 像这样: 为0x0000 0×0001 0×0002 为0x0003 。 。 。等

我以十进制数的形式得到它们,但我希望它以十六进制形式。

public class MainActivity extends Activity {

int i,j;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    for(i=0xA;i<=0xf;i++){
        j++;
        System.out.println(j);
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

4 个答案:

答案 0 :(得分:2)

最简单的方法是使用Integer.toHexString(int)

答案 1 :(得分:1)

您可以使用十六进制常量来表达int值,并且可以将int呈现为十六进制:

for (int i = 0; i <= 0xffff; i++)
    System.out.println(Integer.toHexString(i));

答案 2 :(得分:0)

System.out.printf( "0x%04x", j);

&#34; 0X&#34;前缀按原样打印。

&#34;%04X&#34;占位符将整数值格式化为十六进制(&#39; x&#39;是十六进制转换),长度为4,前导零(&#39; 04&#39;部分位于占位符中)。

还有静态String.format()方法,可以在不立即打​​印的情况下执行相同的格式化。

java.util.Formatter类是此格式化方法背后的实现。

答案 3 :(得分:0)

您的计算机没有任何表格&#34;对于积分/序数值,它们都被存储和处理为一堆0和1。

我认为表单的含义基本上是表示,在这种情况下: Hexadecimal
格式化打印可能是您正在寻找的。您可以决定以何种格式显示数字:

for (i = 0x0000; i <= 0xffff; i++) {
    System.out.printf("0x%04X\n", i);
}

%=启动表达式
0 =实际数字的前面零填充 4 =位数
X = hexdacemial,大写。 (x为小写)

有关这个非常强大的功能的更多信息,请参阅:Oracle Docs - printf()