java进制原码_Java 一一 进制、原码 反码 补码、移位操作
进制
二进制 和 十进制 相互转换
十进制 和 十六进制 相互转换
原码,反码,补码
原码、反码、补码:
在计算机内, 有符号数有三种表示法: 原码, 反码, 补码. 所有的数据的运算都是采用 补码 进行的.
注意: 正数 的原码, 反码, 补码都行相同. 负数稍微复杂
原码:
就是二进制定点表示,最高位为符号位,”0”表示正,”1”表示负.
反码:
负数的反码是对其原码逐位取反,但符号位除外( 符号位 就是 最高位 ).
补码:
负数的补码是在其反码的末尾 加 1.
注意:
求反码的时候, 最高位是符号位不能改变
正数的符号位 是 0
负数的符号位 是 1
正数 5:
5的二进制数: 00000101
原码,补码,反码: 00000101
负数 -5;
5的二进制数: 00000101
原码: 10000101
反码: 111111010
补码: 111111011
移位操作
移位操作:
<<:>
>>: 将操作数的二进制码整体右移指定位数, 右移之后的空 用 “符号位” 来补充
若是 正数 使用 “0” 补充
若是 负数 使用 ”1” 补充
/*
* 2的二进制:
* 00000000_00000000_00000000_00000010
* 左移3位:
* 00000_00000000_00000000_00000010000//转十进制: 0 * 2^0 + ...+ 1 * 2^4 = 16
* 右移3位
* 00000000_00000000_00000000_00000010//转十进制: 1 * 2^1 = 2
*/System.out.println(2 << 3); // 16
System.out.println(16 >> 3); // 2
/*
* - 16 二进制数 最高位用 1 来补充(负数最高位 用 1)
* 原码: 10000_00000000_00000000_00000010000
* 反码: 11111_11111111_11111111_11111101111//负数的反码 最高位 不变
* 补码: 11111_11111111_11111111_11111110000//负数的补码 是在其反码的末尾加 1
* 右移3位(在补码的基础上 右移3位. 右移之后的空 用 “符号位” 来补充.)
* 11111111_11111111_11111111_11111110
*/
System.out.println(-16 >> 3); // -2
java进制原码_Java 一一 进制、原码 反码 补码、移位操作相关推荐
- java 必须存在默认构造器_Java默认构造方法在字节码的实现
方法在程序的重要性不言而喻,了解方法在字节码中的表达能够使我们开发做到更加心中有数. 再看class文件结构 上一步已经分析完了class文件中的字段(field_info)的表达,接下来就是方法数( ...
- java 32位授权码_Java实现OAuth2.0授权码方式
Java实现OAuth2.0授权码方式 前面介绍了OAuth2.0和授权方式,可以参考以下文章: 今天就用Java来验证OAuth2.0授权方式的授权码式,我们Spring Cloud的OAuth来实 ...
- java中的进制输出转换_java中进制的转换,Byte与16进制的转换
java中对于进制的转换有很多方式,其中对于常见的基本的二进制 八进制 十进制 十六进制等的转换有对于的包装类实现,不需要通过二外的算法来进行实现,具体如下: 首先关于最简单的二进制转换的方法有: 十 ...
- java超市进销存系统_Java超市进销存系统完整版JAVA源码下载
Java超市进销存系统完整版 (3 folders, 4 files, 40.88 KB, 6.18 MB in total.) main_from.gif 724 bytes 软件说明.do ...
- java进销存储管理系统_java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码...
系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM ...
- 我的世界java版怎么进不去存档_Java版进不去存档 #Bugjump#
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 ---- Minecraft Crash Report ---- // Why did you do that? Time: 21-2-25 下午3:00 ...
- java futuretask 源码_java并发编程——FutureTask源码分析
FutureTask的简单示例: FutureTask的应用场景,如果在当前线程中需要执行比较耗时的操作,但又不想阻塞当前线程时,可以把这些作业交给FutureTask,另开一个线程在后台完成,当当前 ...
- java实现潜艇大战游戏_java潜艇大战游戏源码项目
代码如下 package com.util; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimensio ...
- java短信接口源码_java免费短信接口开发源码
java免费短信接口开发源码 更多 作者:捷信通来源:www.jiexintong.cn日期:2014-07-30 17:08:51 微宏捷信通短信接口提供适应C#.Java..NET等多种主流开发语 ...
最新文章
- C++中#error/assert/static_assert的区别及使用
- 超声相控阵合成孔径成像FPGA设计介绍
- Codeforces第一次rated比赛
- 虚拟机VMware里 windows server 2003 扩充C盘方法
- 自动化测试在CI CD管道中的作用
- 得力科学计算机怎么求余,山商“郭叔”:妙招讲高数 考研路上得力导师
- 【codeforces 718 CD】C. Sasha and ArrayD. Andrew and Chemistry
- python文字游戏源代码妈妈和我年纪_Python实现猜年龄游戏代码实例
- 设置sqlplus 显示列数和行数
- 全文检索(LuceneSolr)
- 火山编程开发平台pc版|火山软件开发平台下载 附使用教程
- Landsat 8数据介绍
- 解读OOM killer机制输出的日志
- 华为网络配置(路由配置)
- 分享下nirsoft提供的注册表工具
- 2018的趋势与展望(上)——记罗振宇“时间的朋友2017”跨年演讲
- ‘M-BM-‘ character
- 利用selenium库实现QQ空间点赞
- java Field.canAccess 和 Field.isAccessible
- elecworks 电缆型号管理器