java二进制、八进制、十六进制表示法,两数交换

> 二进制0b开头;八进制0开头;十六进制0x开头

System.out.println(0b101);//二进制:5  (0b开头的)
System.out.println(0e1011);//0.0
System.out.println(011);//八进制:9   (0开头的)
System.out.println(11);//十进制:11
System.out.println(0x11C);//十六进制:284   (0x开头的)

System.out.printf("%010x\n",7);//0000000007   按10位十六进制输出,向右靠齐,左边用0补齐
System.out.printf("%010o\n",13);//0000000015    按10位八进制输出,向右靠齐,左边用0补齐

System.out.printf("%x\n",7);//7   按16进制输出
System.out.printf("%o\n",13);//15   按8进制输出

System.out.println(Integer.toBinaryString(11));//1011 二进制

暂时只有二进制 ,八进制,十进制,十六进制的写法,没找见四进制和三十二进制的写法。

> java进行两数交换时,如何不用中间量就交换
方法1:使用^操作来实现
int x = 10;
//用二进制表示:x=0b1010;
int y = 15;
//用二进制表示:x=0b1111;
System.out.println("x="+x+" y="+y);
x = x^y;
//x^y= 0b1010^0b1111 = 0b0101
y = x^y;
//x^y= 0b0101^0b1111 = 0b1010 =10
x = x^y;
//x^y= 0b0101^0b1010 = 0b1111 =15
System.out.println("x="+x+" y="+y);

方法2:使用+,-操作来实现
int x = 10;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值