本站业务范围:1、PC端软件开发、网站开发 2、移动端APP、网站、微信接口、微商城开发 3、视频教程、毕业设计辅导
 当前位置:文章中心 >> python_Java_Jsp_Jdk_eclipse_tomcat
立即购买视频教程 二进制(原码、反码、补码)
夜鹰教程网 来源:www.yyjcw.com 日期:2018/1/6 18:54:56
二进制(原码、反码、补码)

这篇文章不能解决你的问题?我们还有相关视频教程哦!

QQ:1416759661 新手QQ群:7835003  加Q远程协助!

在线解答|Demo制作|远程调试| 点击查看相关的视频教程

一、二进制(原码、反码、补码)

二进制的最高位是符号位(“0”代表正数,“1”代表负数);

Java中没有无符号数;

计算机以整数的补码进行运算;

1.  原码:将一个整数转换成二进制表示

以 int 类型为例,int类型占4个字节、共32位。


例如,2 的原码为:00000000 00000000 00000000 00000010


        -2的原码为:10000000 00000000 00000000 00000010


 


2. 反码

正数的反码:与原码相同


负数的反码:原码的符号位不变,其他位取反


例如,-2 的反码为:11111111 11111111 11111111 11111101


 


3. 补码

正数的补码:与原码相同


负数的补码:反码+1


例如,-2 的补码为:01111111 11111111 11111111 11111110


 


二、位运算

Java中有4个位运算符:


1. 按位与 &:两位都为1,结果为1

  例如,2&3 = 2


  2  的原码为: 00000000 00000000 00000000 00000010


  3  的原码为: 00000000 00000000 00000000 00000011


  2&3 原码为: 00000000 00000000 00000000 00000010 = 2


2. 按位或 |:至少一位为1,结果为1

  例如,2|3 = 3


  2  的原码为: 00000000 00000000 00000000 00000010


  3  的原码为: 00000000 00000000 00000000 00000011


  2|3   原码为: 00000000 00000000 00000000 00000011 = 3


3. 按位异或 ^:两位一个为1、一个为0,结果为1

  例如,2|3 = 3


  2  的原码为: 00000000 00000000 00000000 00000010


  3  的原码为: 00000000 00000000 00000000 00000011


  2^3 原码为: 00000000 00000000 00000000 00000001 = 1


4. 按位取反 ~:0变成1、1变成0 

  例如,~2 = -3


  对2的原码取反:11111111 11111111 11111111 11111101  (取反后结果的补码,也就是-3的补码。我们需要从补码推出原码,才能得到-3)


      转换成反码:    11111111 11111111 11111111 11111100 (补码减1)


  转换成原码:    10000000 00000000 00000000 00000011 =-3 (符号为不变,其他位取反)


 


 

总结

正数的原码、反码、补码都一样;

负数的反码 = 原码的符号位不变,其他位取反;

负数的补码 = 反码+1;

0的原码、反码、补码都是0;

计算机以补码进行运算;

取反不同于反码;


复制链接 网友评论 收藏本文 关闭此页
上一条:已经是第一条了  下一条: python时间模块详解
  推荐教程/优惠活动

  热门服务/教程目录

  夜鹰教程网  新手必看,详细又全面。
  夜鹰教程网  购买教程  夜鹰教程网  在线支付-方便
  夜鹰教程网  担保交易-快捷安全   夜鹰教程网  闪电发货
  夜鹰教程网  电话和QQ随时可以联系我们。
  夜鹰教程网 不会的功能都可以找我们,按工作量收费。

客服电话:153 9760 0032

购买教程QQ:1416759661  
  热点推荐
初学教程:Java Socket网络编程浅…
Java随机数总结
java读取文本文件内容并获取文件大…
字节流和字符流Java
java常用图片读写程序
怎样成为一个优秀的Java程序员
C++程序员转Java容易吗?难点在哪…
思科培训与华为培训在教材和内容方…
Java注释的使用和定义
使用 Java 实现 Comet 风格的 Web…
利用Java实现zip压缩/解压缩
Java Web三层架构的配置详解
Java Socket编程之我见
使用 Java 实现 Comet 风格的 Web…
两种J2ME网络编程的方法之一
  尊贵服务
夜鹰教程网 承接业务:软件开发 网站开发 网页设计 .Net+C#+VS2008+MSsql+Jquery+ExtJs全套高清完整版视频教程
  最近更新
二进制(原码、反码、补码)
python时间模块详解
java 解决split分割空值不能得到的…
如何打开eclipse安卓开发代码提示…
php实现大文件断点续传功能
java实现断点续传功能
Windows Server 2016新功能
MyEclipse 8.5 汉化方法
jquery实现无刷新分页
什么是JSON?
什么是回调函数
jQuery 1.7下载
jquery加载XML文档
什么是MVC(三层架构)
网页中如何实现音乐和歌词同步
  工具下载  需要远程协助? 

sql2008视频教程 c#视频教程

VIP服务:如果您的某个功能不会做,可以加我们QQ,给你做DEMO!

JQUERY  Asp.net教程

MVC视频教程  vs2012
.NET+sql开发
手机:15397600032 C#视频教程下载
vs2012 vs2008 vs2010 sql2008 sql2005
Asp.Net  

教程咨询QQ:1416759661


这篇文章不能解决你的问题?我们还有相关视频教程哦!

QQ:1416759661 新手QQ群:7835003  加Q远程协助!

在线解答|Demo制作|远程调试| 点击查看相关的视频教程

关于我们 | 购买教程 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3