JAVA--位移运算符详细分析【转载】
文章目录
- 1. <<表示左移移,不分正负数,低位补0
- 2. >>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;
- 3. >>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0
1. <<表示左移移,不分正负数,低位补0
注:以下数据类型默认为byte-8位
左移时不管正负,低位补0
正数:r = 20 << 2
20的二进制补码:0001 0100向左移动两位后:0101 0000结果:r = 80
负数:r = -20 << 2
-20 的二进制原码 :1001 0100-20 的二进制反码 :1110 1011-20 的二进制补码 :1110 1100左移两位后的补码:1011 0000反码:1010 1111原码:1101 0000 结果:r = -80
2. >>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;
注:以下数据类型默认为byte-8位
正数:r = 20 >> 2
20的二进制补码:0001 0100向右移动两位后:0000 0101结果:r = 5
负数:r = -20 >> 2
-20 的二进制原码 :1001 0100-20 的二进制反码 :1110 1011-20 的二进制补码 :1110 1100 右移两位后的补码:1111 1011 反码:1111 1010原码:1000 0101结果:r = -5
3. >>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0
正数: r = 20 >>> 2
结果与 r = 20 >> 2 相同;
负数: r = -20 >>> 2
注:以下数据类型默认为int 32位
-20:源码:10000000 00000000 00000000 00010100反码:11111111 11111111 11111111 11101011补码:11111111 11111111 11111111 11101100右移:00111111 11111111 11111111 11111011结果:r = 1073741819
以上内容来自:
- 寒塘冷月_Java中的<< 和 >> 和 >>> 详细分析【CNBLOGS】
JAVA--位移运算符详细分析【转载】相关推荐
- JAVA正则表达式(详细,转载内容)
可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式.正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性.在Unix世界里,正则表达式几乎没有 ...
- 【Java】浅析Java位移运算符<<、>>、>>>
<<.>>.>>>分别是什么 <<.>>.>>>都是Java里的位移运算符. <<表示算术左移,< ...
- 硬盘FAT文件系统原理的详细分析——转载
首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的.教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转 ...
- java位移运算符2 转
https://blog.csdn.net/xxx134617/article/details/7454774 java中int类型占4个字节,二进制用补码表示: 3的二进制表示: 00000000 ...
- java队列——queue详细分析
Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构 Queue接口与List.Set同一级别,都是继承了Collection接口.LinkedList实现了Deque接 口. Q ...
- 罗密欧与朱丽叶的迷宫问题(java版带有详细分析与注释)
罗密欧与朱丽叶的迷宫问题 问题描述 罗密欧与朱丽叶的迷宫问题 罗密欧与朱丽叶身处一个 $m×n $的迷宫中,如图所示.每一个方格表示迷宫中的一个房间.这 m × n m×n m×n 个房间中有一些房间 ...
- java实现平衡二叉树(详细分析)
package com.utils; import java.util.Iterator; import java.util.NoSuchElementException; /*** 平衡二叉树* 定 ...
- Java设计模式超级详细分析(包含代码)
设计模式(Design Pattern,DP) 目录 设计模式(Design Pattern,DP) 设计模式的六大设计原则 开闭原则:Open Closed Principle,OCP 单一职责原则 ...
- java中的位移运算符_Java 位移运算符
本人只是 Android小菜一个,写技术文档只是为了总结自己在最近学习到的知识,从来不敢为人师,如果里面有些不正确的地方请大家尽情指出,谢谢! 1.概述 Java 位移运算符是Java中基本的位运算操 ...
- java面向对象的全面分析
由于文章可能过长,看自己需要的部分即可-我尽量把java面向对象讲得全面一点,尽量让有一点点Java学习基础的同学也能看得懂,了解的深度也足够. 若在文章中发现了什么问题或者不太理解的地方-请及时评论 ...
最新文章
- eNSP中浮动路由的配置
- 数学中的向量乘积和矩阵乘积总结
- 阿里RocketMQ是怎样孵化成Apache顶级项目的?
- mysql 半同步关闭_MySQL的半同步模式配置
- python脚本调用外部程序的若干种方式以及利弊
- boost::pool
- bzoj 2190: [SDOI2008]仪仗队 -- 欧拉函数
- 5.Linux/Unix 系统编程手册(上) -- 深入探究文件IO
- 转载:人生真相之为何你应该假装自己是一个电脑白痴(原文pconline)
- POP3协议(电子邮件邮局协议)中UIDL和TOP命令在实际使用中的作用
- 常用视频格式简述(RMVB\RM\WMV\ASF\AVI\MPEG1\MPEG2\MPEG4\MOV)
- GoogleStyle编程代码规范
- SQL语句——处理函数
- websocket 客户端测试工具
- JWT(Golang)
- 英:程序员必知单词、语句、英文缩写汇总
- 商业模式(四):群硕软件,欧美客户为主的软件外包
- 中国Linux与微软斗法北京谋变,从水火不容到共生(转)
- 【猿哥学二建】第一周 考试准备
- C语言的C89、C99和C11标准(上)