java中0xf0000000什么意思?

来源:百度知道 编辑:UC知道 时间:2024/05/11 17:43:21
今天学JAVA的时候看到了一段代码:
public class Yi1{
public static void main(String[] args){
int a=0xf0000000;
System.out.println(a);
int b=a>>2;
System.out.println(b);
运行的结果是 -268435456 和 -67108864
所以问下 那个0xf0000000是什么意思? 而这两个数又是怎么来的? 谢谢
为什么15乘以16 15和16这两个数是怎么来的?

(左)0 x f 0 0 0 0 0 0 0(右)
表示0 0 0 0 |f 0 0 0| 0 0 0 0每4个为一组
其中f是16进制中的15 具体为0,1,2,3,4,5,6,7,8,9到10的时候就用A或a表示 即10(a) 11(b) 12(c) 13(d) 14(e) 15(f)
现在看上面的数:
从右往左:16的0次方乘0,16的一次方乘0,依次类推,f在第7位,即16的7次方乘f也就是16的7次方乘15
>>就是1楼的说的,>>2具体就是将f右移了2位 即16的5次方乘15

相信你应该明白了吧

0xf0000000是个十六进制的数,你可以去下载工具,先把它转换成八进制数,然后再对它右移2位,然后再把移动后的八进制数转换成十进制数,你就看到结果了。

我对十六进制,二进制的数据最是可恶了,第二个我倒是知道怎么来的!

0xf0000000是16进制的数,这个数的大小是15乘以16的7次方
>>是右移