#Java:<<、>>、>>> @FDDLC
发布日期:2021-06-30 21:01:21 浏览次数:2 分类:技术文章

本文共 1450 字,大约阅读时间需要 4 分钟。

一、<<

class Test{
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(-1)+":32个1,其值为-1"); System.out.println(Integer.toBinaryString(2<<1)+": 2<<1"); System.out.println(Integer.toBinaryString(Integer.MAX_VALUE<<1)+": MAX_VALUE<<1"); System.out.println(Integer.toBinaryString(Integer.MIN_VALUE<<1)+": MIN_VALUE<<1"); System.out.println(Integer.toBinaryString(-1<<1)+" :-1<<1"); }}

在这里插入图片描述

总结:

a、左移后符号可能跟原来不一样

b、低位补0

二、>>

class Test{
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(-1)+":32个1,其值为-1"); System.out.println(Integer.toBinaryString(-1>>1)+": -1>>1"); System.out.println(Integer.toBinaryString(Integer.MIN_VALUE>>1)+": MIN_VALUE>>1"); System.out.println(Integer.toBinaryString(4>>1)+": 4>>1"); System.out.println(Integer.toBinaryString(0>>1)+": 0>>1"); }}

在这里插入图片描述

总结:

a、符号位是啥,高位就补啥

b、右移前后,符号位不变

三、>>>

class Test{
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(-1)+":32个1,其值为-1"); System.out.println(Integer.toBinaryString(-1>>>1)+": -1>>>1: "+(-1>>>1)); System.out.println(Integer.toBinaryString(Integer.MIN_VALUE>>>1)+": MIN_VALUE>>>1: "+(Integer.MIN_VALUE>>>1)); System.out.println(Integer.toBinaryString(4>>>1)+": 4>>>1"); System.out.println(Integer.toBinaryString(0>>>1)+": 0>>>1"); }}

在这里插入图片描述

总结:不管原先的符号位是啥,高位一律补0

转载地址:https://liuxingchang.blog.csdn.net/article/details/111410119 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:#力扣 LeetCode509. 斐波那契数 @FDDLC
下一篇:#力扣LeetCode面试题 02.02. 返回倒数第 k 个节点 @FDDLC

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月14日 12时23分50秒