我想创建一个循环来增加从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;
}
}
答案 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()