java里有位移吗_Java 中位移运算符 ,,
Java 中的三种位移运算符
java中有三种移位运算符
<< : 左移运算符,num << 1,相当于num乘以2
>> : 右移运算符,num >> 1,相当于num除以2
>>> : 无符号右移,忽略符号位,空位都以0补齐
下面将使用代码进行测试:这里涉及到码的表示:原码、反码、补码、移码
原码:最高位表示符号位,剩余位表示数字,0表示正数,1表示负数
反码:正数的反码等于原码,负数符号为不变,剩余位取反
补码:一个数如果为正,则它的原码、反码、补码相同;一个数如果为负,去到反码然后加1
移码:补码符号位取反
例如:表示10的这个数字(8位)
原码:0000 1010
反码:0000 1010
补码:0000 1010
移码:1000 1010
例如:表示数字 -10
原码:1000 1010
反码:1111 0101
补码:1111 0110
移码:0111 0110
例如:
public classMainTest {
//用于输出数字本身与其二进制数字public static void printBinary(intnum){
System.out.println(num);
System.out.println(Integer.toBinaryString(num));
}public static voidmain(String[] args){int num = -7774;//输出 num 的二进制位数
printBinary(num);//num 向右移动2位并输出
num =num >> 2;
printBinary(num);//无符号右移
num =num>>>2;
printBinary(num);
}
}
其结构如下:
-7774
11111111111111111110000110100010
-1944
11111111111111111111100001101000
1073741338
111111111111111111111000011010
这个数据市为了更明显的现实位移设计的,-7774向右移动2位,相当于处于4
当-7774 无符号向右移动2位,首位补0,会改变原值,结果实际如下,0系统会不显示
00111111111111111111111000011010
但是,当 - 7774 改为 7774 结果如何???
7774
1111001011110
1943
11110010111
485
111100101
最后无符号移动:负数与原值没有关系,正数符合除以 4 点特点
但是 发现右移运算符点结果:
负数:-1994
正数:1993
java里有位移吗_Java 中位移运算符 ,,相关推荐
- java与与短路与_Java中短路运算符与逻辑运算符示例详解
1.逻辑运算符(部分) 符号 名称 && 短路与运算符 || 短路或运算符 & 与运算符 | 或运算符 对于理工科学习者来说,逻辑运算是较为基础的概念,通常会在大一的离散数学课 ...
- java里有哪些对象_Java中创建对象的方式有哪些
创建对象的几种方式: 1.这是最常用的方法:通过new 创建对象.这种方法需要用到构造器.Demo demo1=new Demo(); Demo demo2=new Demo(1,"有参构造 ...
- java里包含怎么算_java中怎么判断一个字符串中包含某个字符或字符串
展开全部 /*这是一62616964757a686964616fe58685e5aeb931333363393630个静态函数,不用声明对象就可以用的,如你的类名为Test,在任何情况下都可以调用Te ...
- java 里button的功能_java中怎么通过摁一个按钮显示一个图片的功能
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.awt.*; import javax.swing.*; import java.awt.event.*; public clas ...
- java里的foreach迭代器_java 中 for 、foreach 和 迭代器 的学习笔记
for ,foreach 的区别如下: 1. 形式区别 对于for循环,我们采用: for(int i=0;i 对于foreach: for(int i:arr){...} 对与迭代器: Itera ...
- java 负数 位移运算_Java中的位移运算
在Java中,位移运算属于基本运算,符号是<>,即向左位移和向右位移.在Java中只有整数才能位移,所以其他的不考虑,位移运算是将整数在内存中表示的二进制进行位移,所以在Java中分为正数 ...
- java中的运算符_java中的运算符
一:概述: Java的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符. 算数运算符(9):+ - * / % ++ -- 关系运算符(6):== != > & ...
- java string 后几位_java中String占几个位元组
java中String占几个位元组以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java中String占几个位元组 J ...
- java类怎么删除对象_java中对象的生成使用和删除
请教大神,在java里,对象生成后,如何删除对象呢?请教大神,在java里,对象生成后,如何删除对象呢? 对象状态由JVM自动管理,GC线程自动回收无用对象,无需也不能自己删除对象. 请问在JAVA中 ...
最新文章
- Chrome 94 加入网页开发新技术,或有助于提高云游戏体验
- 域名解析跳转到另一个域名_github建立静态网站,域名解析和跳转
- NewCode----给定两个数R和n,输出R的n次方
- ddt python_python-ddt实践
- python编程书籍资料整理大全
- MySql 5.7 json数据格式 增删改查 操作 (不定时更新)
- 证明人工智能的数据只要足够多,就可以接近理想效果
- Spring Cloud服务网关 Zuul
- Atitit 艾提拉音频资源列表与统计 t6 六月份战果与7月份规划.docx 目录 1. 第一层次 原始资源类 采集资源类	1 1.1. K歌类采集资源 整理	1 1.2. K歌类资源初步分类
- 趋势预测算法大PK!
- 锐炬显卡和独立显卡有什么不同?
- Win11新建不了文本文档?Win11右键无法新建文本文档的解决方法
- 对ElasticSearch主副分片的理解
- 我不想你触及,我眼里的忧伤
- 不同数量的玫瑰花代表的意思
- nvidia windows linux,不逊于Win7,英伟达Linux版显卡驱动稳定版下载
- JFlow手机端开发说明与案例
- 冒险岛linux服务端 143端
- ThinkPad E14 原装 win11系统没有声音
- 遥感雷达,信号与图像处理,机器学习与人工智能主要国际会议【不定期更新···】
热门文章
- Highlight(高亮)Gridview控件列
- powershell 设置代理_WSL2中使用proxychains ng代理加速
- 简历javaweb项目描述怎么写_简历要怎么写
- 2019杭电多校第一场 Operation HDU - 6579
- sql脚本比较大,sqlserver 无法导入,就用cmd命令执行
- 常用JS积累之获取节点高度(基于浏览器)
- Interesting Finds: 2008.04.24
- 【南邮操作系统实验】页面置换算法(FIFO、LRU、OPT) C++ 版
- JavaScript闭包初相识
- 小程序入门学习15---数据库实战01