java二进制表示形式与移位操作符

本文介绍了Java中数字的二进制补码表示方式,并详细讲解了左移位(<<)、有符号右移位(>>)和无符号右移位(>>>)操作符的工作原理,包括它们在不同情况下的位移规则和注意事项。
摘要由CSDN通过智能技术生成

1.java二进制表示形式

java中数字的二进制表示形式称为“有符号的二进制补码”,下面先介绍原码,反码,补码。

编码 计算方法
原码 用最高位表示符号位,‘1’表示负号,‘0’表示正号。其他位存放该数的二进制的绝对值。
反码 正数的反码还是等于原码,负数的反码就是他的原码除符号位外,按位取反。
补码 正数的补码等于他的原码,负数的补码等于反码+1。

例如,对于4位二进制来说

十进制 原码 反码 补码
4 0100 0100 0100
-4 1100 1011 1100

2.移位操作符

左操作数 移位操作符 右操作数,移位操作符的运算对象是二进制的“位”。移位操作符只可用来处理整数类型。如果对于char,byte或者short类型的数值进行位移处理,那么在位移进行之前,它们会被转换为int类型,并且得到的结果也是一个int类型的值。位移操作符有个需要注意的点,在下面会介绍到。位移操作符可分为以下三种:

1.左移位操作符(<<)

左移位操作符(<<):按照右操作数指定的位数将左操作数向左移动(在低位补0)

public class Example{
   
    public static void main(String[] args) {
   
        int a = Integer.MAX_VALUE;
        System.out.println("十进制:" + a + " 二进制:" + Integer.toBinaryString(a));
        System.out.println("十进制:" + (a <<2) + " 二进制:" + Integer.toBinaryString(a <<2));
        a = Integer.MIN_VALUE;
        System.out.println("十进制:" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值