thinking in java练习第三章

本文介绍了三个Java编程练习,涉及有符号右移、无符号右移操作符以及字符串比较。通过练习展示了如何用Integer.toBinaryString()方法处理移位操作后的二进制数字,并提供了比较字符串的不同方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.11

练习11

       以一个最高有效位为1的二进制数字开始(提示:使用十六进制常量),用有符号右移操作符对其进行右移,直至所有的二进制位都被移除为止,每移一位都要使用Integer.toBinaryString()显示结果。

做题启示:

  • 移位操作处理int类型,其他类型数据进行移位操作时,也会转化成int类型
  • int 类型32位,最高位为1。选择0x80808080(用十六进制表示)
  • 将所有位移出,且移每一位都要输出:移位32次——循环
public class test11{
    public static void main(String []args) {
		int x = 0x80808080;
		for(int i=0;i<32;i++){
			x>>=1;
			System.out.println(Integer.toBinaryString(x));
		}
    }
}

输出结果
11000000010000000100000001000000
11100000001000000010000000100000
11110000000100000001000000010000
11111000000010000000100000001000
11111100000001000000010000000100
11111110000000100000001000000010
11111111000000010000000100000001
11111111100000001000000010000000
11111111110000000100000001000000
111111111110000000100000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值