今天不知为啥突然想知道 移位运算符 是怎么进行计算的。

>> 带符号右移

带符号右移,将整数换为二进制 向右移动一位 并且 正数在最高位添0,负数在最高位添 1。
例:

  1. 正数

10>>1 就相当于(1010)右移一位 最高位添0 —>(0101)转为十进制也就是 5(其实正数的带符号左右移 就相当于 乘以(左移)/除以(右移)2的n次方(这里的n指的是 符号右边的数值))

  1. 负数

-10>>1 相当于(‭1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 0110‬)右移一位 最高位添 1 —>(‭1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1011‬)也就是 -5

<<带符号左移

跟右移恰恰相反 是往左移动的,此处略过。。。

>>> 无符号右移

意思就是 往右移动不带符号,不论正的负的 右移之后 都在最高位添 0;
1.正数

正数无符号右移跟有符号右移是一样的 不涉及变号问题,重点在 负数 会变号

2.负数

负数除了同样的右移之外 会在最高位 添个零 大家都知道 最高位符号位 0代表正 1代表负 本来是负数的 最高位符号位添了 0 就变为正数了。
例:

-1>>>1 也就是(‭1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111‬)右移一位 之后最高位 添 0 就变为 (‭0111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111‬)转为十进制就是 2,147,483,647‬

That 's all ,有错误欢迎指出,错误必当改正!

Java 移位运算符 >>、<< 、>>是怎样进行运算的?相关推荐

  1. java移位运算符详解

    java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的所有位都左移 ...

  2. Java移位运算符不外乎就这三种

    Java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移) 1. 左移运算符 左移运算符<<使指定值的所有位都左移规 ...

  3. JAVA移位运算符-左移、右移、无符号右移 (简解)

    java移位运算符:<<(左移).>>(带符号右移)和>>>(无符号右移). 一.左移运算符<< m<<n 代表把数字m在无溢出的前提 ...

  4. JAVA基础(JAVA移位运算符)

    移位运算符就是在二进制的基础上对数字进行平移.按照平移的方向和填充数字的规则分为三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 在移位运算时, ...

  5. Java移位运算符详解实例——左移位运算符、带符号的右移位运算符

    移位运算符也针对二进制的"位",它主要包括:左移位运算符(<<).右移位运算符(>>>).带符号的右移位运算符(>>). 1.左移运算符 ...

  6. 【java基础】-java移位运算符:右移运算符和无符号右移运算符

    下表列出了位运算符的基本运算,假设整数变量A的值为60和变量B的值为13: 操作符 描述 例子 & 如果相对应位都是1,则结果为1,否则为0 (A&B),得到12,即0000 1100 ...

  7. java 十进制 左移,java移位运算符之十进制转二进制

    本次MS08-067严重漏洞各系统补丁地址如下: 中文操作系统KB958644补丁下载地址: Windows Vista 安全更新程序 (KB958644) Windows Server 2008 x ...

  8. java移位运算符实验程序:lt;lt;(左移)、gt;gt;(带符 号右移)和gt;gt;gt;(无符号右移)...

    public class txs { static void leftbit(){ int i;               //整型长度为32位                           ...

  9. java右移位_java移位运算符详解

    java 移位运算符不外乎就这三种: << (左移). >> (带符 号右移)和 >>> (无符号右移) 1 . 左移运算符 左移运算符 << 使 ...

最新文章

  1. C++指针与引用的区别
  2. 手把手教 | 使用Bert预训练模型文本分类(内附源码)
  3. java jdk工具
  4. java 基本语法与流程控制_Java基础语法之控制流程
  5. 如何选择物联网通讯技术?
  6. 增长是一切企业问题解决的入口
  7. PyCharm中直接使用Anaconda已安装的库
  8. Hystrix断路器
  9. 图解Web服务器网关接口WSGI(Web Server Gateway Interface)
  10. Stm32 固件库移植
  11. selenium--自动化识别图片验证码并输入
  12. Java计算花费时间的模板设计模式
  13. 【报错】fatal: unable to access
  14. 前端简历如何描述项目经历
  15. 谈谈一些感触——自我反思和总结
  16. ansible命令应用
  17. linux4.4 内核 netlink,wpa_supplicant与内核nl80211通信之Generic Netlink
  18. Tiny语言编译器简单介绍
  19. q创建群聊显示服务器繁忙是什么意思,一种堵车时聊天群的建立方法及系统
  20. 无参考图像质量评价之可察觉模糊程度方法(JNB)

热门文章

  1. type、dtype和astype
  2. 常用APP的OpenUrl
  3. 软连接和硬连接(Linux创建软连接一定要用绝对路径)
  4. Mybatis之Interceptor拦截器
  5. STM32CubeMX学习笔记(16)——电源管理(PWR)低功耗停止模式
  6. 7.26 3 教育的长久回报期
  7. Django框架下的form表单提交数据(及文件)获取的方法
  8. 【python】Flask之路由
  9. 米家扫地机器人是石头代工_科沃斯投资研究报告 - 大湾区小家电分享
  10. Win10 wsl-安装教程