左移 (<<) / 右移 (>>)注意细节

2023-05-16

1.位运算符 << 和 >>

位运算是直接对整型数据的二进制进行运算。

/*
	结论:
		1.位运算符操作的都是整型的数据
		2.	<< : 在一定范围内,每向左移 1 位,就相当于 * 2;
			>> :  在一定范围内,每向右移 1 位,就相当于 / 2;

	面试题:最高效的计算 2 * 8?
			2 << 3 / 8 << 1
*/
class  BitTest{
	public static void main(String[] args) {
		int a = 21;
		// System.out.println("a << 2 = " + a << 2);	编译失败:String类型的数据无法使用 <<
		// 为什么编译失败呢?
		// 是因为" a << 2 = " 后面使用 + 号 拼接,所以,系统无法使字符串类型的数据进行 << 
		System.out.println("a << 2 = " + (a << 2));	// 21 * 2^2 --> 21 * 4 = 84
		System.out.println("a << 3 = " + (a << 3));	// 168
	}
}

上述结论说特别说明了 << 和 >> 是在一定的范围内进行,如果超出范围,奇迹就发生了!

/*
	结论:
		1.位运算符操作的都是整型的数据
		2.	<< : 在一定范围内,每向左移 1 位,就相当于 * 2;
			>> :  在一定范围内,每向右移 1 位,就相当于 / 2;

	面试题:最高效的计算 2 * 8?
			2 << 3 / 8 << 1
*/
class  BitTest{
	public static void main(String[] args) {
		int a = 21;
		// System.out.println("a << 2 = " + a << 2);	编译失败:String类型的数据无法使用 <<
		// 为什么编译失败呢?
		// 是因为" a << 2 = " 后面使用 + 号 拼接,所以,系统无法使字符串类型的数据进行 << 
		System.out.println("a << 2 = " + (a << 2));	// 21 * 2^2 --> 21 * 4 = 84
		System.out.println("a << 3 = " + (a << 3));	// 168
		System.out.println("a << 27 = " + (a << 27));	// -1476395008
	}
}

注意上述代码: 21 << 27 位之后,结果为负数。
用图解释:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

左移 (<<) / 右移 (>>)注意细节 的相关文章

随机推荐

  • springboot集成swagger3.0

    Swagger3 0 最新版使用 Swagger 最新版的配置步骤和旧版本是一样 xff0c 只是每个具体的配置项又略有不同 xff0c 具体步骤如下 1 添加依赖 span class token comment lt https mvn
  • Windows/IDEA 常用快捷键

    windows 搜索的快捷键 ctr 43 F 切换窗口 win 43 1 2 3 根据任务栏切换 win 43 tab 显示图标 alt 43 esc 切换到上一个 最小化当前窗口 ctr 43 ESC 最小化所有窗口 CTR 43 D
  • windows mysql8.0.26的安装

    mysql8 0 26的安装 1 下载 https dev mysql com downloads mysql 2 解压并在mysql中的bin目录下创建my ini配置文件 mysqld 设置3306端口 port 61 3306 设置m
  • Linux(Debian,Centos,Ubuntu等) gcc的安装

    Linux gcc的安装 xff08 一 xff09 准备工作 1 什么是gcc xff1f GNU编译器集合 xff08 GCC xff09 是一个开源的编译器和库集合 xff0c 支持C xff0c C 43 43 xff0c Obje
  • nodeJs开发app.js解析

    在 node js 中模块分为核心模块和文件模块两种 xff0c 核心模块是通过 require 39 xxxx 39 导入的 xff0c 文件模块是以 require 39 xxxx 39 或 require 39 xxxx 39 req
  • Linux 安装最新版Redis(超简单详细)

    Redis最新版的安装 可以从官网下载 xff0c 然后传输到你的GUN linux中 xff0c 也可像下面那样用wget命令下载 xff0c 下载完后安装步骤基本一样 xff08 一 xff09 安装 1 下载 span class t
  • git:OpenSSL SSL_read: Connection was reset, errno 10054

    方式一 xff1a 可能为网络不稳定 xff0c 连接超时导致的 xff0c 可再次尝试提交 span class token function git span push 方式二 xff1a 打开Git命令页面 xff0c 执行git命令
  • springcloud nacos config快速入门

    nacos config 1 为什么需要配置中心 xff1f 传统配置的方式已经暴露出了很多问题 xff0c 其他的诸如 xff1a 历史版本管理 xff0c 权限控制 xff0c 安全性等等问题 xff0c 是传统的配置文件无法解决的 x
  • 左移运算符和右移运算符的使用

    先简单介绍一下 xff0c 左移运算符和右移运算符的功能 xff1a 计算机中的数字是以二进制补码的形式存放的 xff0c 而左移和右移运算符就是将内存中的二进制补码数字向左或者右移动 左移的结果 xff1a 1 左移会让最高位溢出 xff
  • 51单片机对直流电机的控制

    占空比 61 周期内高电平持续的时间 整个周期 直流电机驱动芯片选择L293D 电机正转 xff1a span class token macro property span class token directive hash span
  • C++结构体数组 | 结构体数组的使用

    C 43 43 结构体数组 C 43 43 结构体数组与以前介绍过的数值型数组的不同之处在于 xff1a 每个数组元素都是一个结构体类 型的数据 xff0c 它们都分别包括各个成员项 C 43 43 结构体数组定义 C 43 43 结构体数
  • 小程序开发学习(4)---天气预报接口API篇

    文章目录 1 实现用户定位API2 获取定位信息 1 实现用户定位API 天气预报API大多数都是需要收费的 xff0c 但是在现在学习阶段可以不需要购买收费的 xff0c 网上能找到免费的天气预报API地址 xff0c 但是可能不是很好找
  • SPSS的入门

    1 SPSS的起源 SPSS xff08 全称 xff1a Statistical Product and Service Solutions xff09 是世界上最早的统计分析软件 xff0c 由美国斯坦福大学的三位研究生Norman H
  • MySQL 1130错误,无法远程连接

    错误 xff1a ERROR 1130 Host 39 192 168 1 3 39 is not allowed to connect to thisMySQL serve 错误1130 xff1a 主机192 168 1 3 不允许连接
  • 【STM32f10】MDK编译报错:Undefined symbol TIM3_PWM_Init (referred from main.o)

    MDK编译报错 xff1a Undefined symbol TIM3 PWM Init referred from main o 一 问题出现 最近跟着正点原子学到了STM32的PWM内容 xff0c 运行了该内容的程序时 xff0c 发
  • 【记录】ssh连接wsl Debian过程

    参考 xff1a 使用ssh连接WSL 学亮编程手记的博客 CSDN博客 https blog csdn net a772304419 article details 119817163 ops request misc 61 amp re
  • 【项目实战15】k8s(1)—k8s的部署(图文详解安装,集群部署过程)

    kubernetes的部署 一 前言一 简介二 k8s特点 二 安装一 安装地址二 配置环境三 安装过程 三 初始化集群 一 前言 一 简介 为方便docker的管理 xff0c Kubernetes对计算资源进行了更高层次的抽象 xff0
  • 零基础学Python学习笔记

    Python学习笔记 代码下载地址 链接 xff1a https pan baidu com s 1yGnpfq4ZHeKpt4V0J PTSg 提取码 xff1a hmzs 1 Python 基础语法 1 1 基本数据类型 整数 int
  • 2021-6-28 工作记录--PHP里面的if条件判断

    一 PHP里面的if条件判断 span class token punctuation span if condition 61 span class token string 34 条件 34 span span class token
  • 左移 (<<) / 右移 (>>)注意细节

    1 位运算符 lt lt 和 gt gt 位运算是直接对整型数据的二进制进行运算 span class token comment 结论 xff1a 1 位运算符操作的都是整型的数据 2 lt lt xff1a 在一定范围内 xff0c 每