java按位取反运算符_二进制按位取反

java按位取反运算符_二进制按位取反“~”运算符在c、c++、java、c#中都有,要弄懂这个运算符的计算方法,首先必须明白二进制数在内存中的存放形式,二进制数在内存中是以补码的形式存放的。另外正数和负数的补码不一样,正数的补码,反码都是其本身,既:正数9(二进制为:1001)在内存中存储为01001,必须补上符号位(开头的0为符号位)。补码为01001反码为01001,其中前面加的0是符号位,负数的


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

“~”运算符在c、c++、java、c#中都有,要弄懂这个运算符的计算方法,首先必须明白二进制数在内存中的存放形式,二进制数在内存中是以补码的形式存放的。


另外正数和负数的补码不一样,正数的补码,反码都是其本身,既:

正数9(二进制为:1001)在内存中存储为01001,必须补上符号位(开头的0为符号位)。

补码为01001

反码为01001,其中前面加的0是符号位,负数的符号位用1表示


负数-1(二进制为:0001)在内存中存储为10001,开头的1为符号位,在内存中存放为,11111(负数的补码是:符号位不变,其余各位求反,末位加1)既得到11111。

补码为11111

反码为11110


负数的补码是:符号位不变,其余各位求反,末位加1 ,既-1的补码为11111

反码是:符号位为1,其余各位求反,但末位不加1 ,既-1的反码为11110


也就是说,反码末位加上1就是补码


————————————————————————————————————————————


弄懂了上述情况后,如何计算就好办了


假设有一个数~9,计算步骤如下,9的二进制为:1001


其补码为01001

对其取反10110(“~”运算符取反后得到这个数),现在需要换成二进制原码用来输出,既先减1,然后取反得11010,符号位为1是负数,既9使用了按位运算符“~”后得到-10。


原码是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170467.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • idea配置Tomcat时没有Artifacts选项

    idea配置Tomcat时没有Artifacts选项首先解释一下IDEA中的Artifact是什么?Artifacts是maven中的一个概念,表示某个module要如何打包,例如warexploded、war、jar、ear等等这种打包形式;好奇这个带不带exploded的有什么差别不?exploded在这里你可以理解为展开,不压缩的意思。也就是war、jar等产出物没压缩前的目录结构。这个是不带exploded的。和下图的框框对比下,就可以看到差别啦这两张图,意在说明,带exploded和不带的差别,一个是打包压缩,另.

    2022年10月18日
  • 赛门铁克卸载工具CleanWipe14亲测有效

    赛门铁克卸载工具CleanWipe14亲测有效卸载烦人的赛门铁克,把我恶心坏了,不过最后卸载了。找了很多方法,都很麻烦,自己试了试也没成功。。。然后找到了一个CleanWipe14的卸载工具网盘,然后成功卸载!!!网盘链接:https://pan.baidu.com/s/13nOA83ngCaxLN4h627-oyQ提取码:dkck原文:https://www.52pojie.cn/thread-1071900-1-1.html…

    2022年6月14日
  • 自监督学习: 人工智能的未来

    自监督学习: 人工智能的未来目录1.什么是自监督学习?2.为什么自监督学习是AI的未来?3.1ComputerVision:[1]2015(ICCV)UnsupervisedLearningofVisualRepresentationsUsingVideos[2]2015(ICCV)UnsupervisedVisualRepresentationLearningbyContextPrediction[3]2016(ECCV)Unsupervisedlearni

    2022年9月14日
  • 前端的葵花宝典 – 红宝书《JavaScript高级程序设计(第4版)》学习笔记[通俗易懂]

    前端的葵花宝典 – 红宝书《JavaScript高级程序设计(第4版)》学习笔记[通俗易懂]对于前端经典书籍《JavaScript高级程序设计》是慕名已久,几天前收到某社区消息推送,即入手了最新的第四版中文版纸质和电子书,希望能好好系统的学习一下这门技术,并将学习笔记记录于此。

    2022年8月20日
  • 高级创意,单片机电子DIY制作精华资料汇总「建议收藏」

    高级创意,单片机电子DIY制作精华资料汇总「建议收藏」高级创意,单片机电子DIY制作精华资料汇总今天给大家分享创意小生活,电子DIY制作精华资料汇总,资料有点多,将近400个电子创意,够同学们学习和交作业的了,需要的可以在闯客网技术论坛下载,有问题加群解决:813238832下载链接:https://bbs.usoftchina.com/thread-203642-1-1.html一、温度控制和湿度控制  1.简单实用的恒温控制器 …

    2022年6月23日
  • MQ入门总结(一)消息队列概念和使用场景

    MQ入门总结(一)消息队列概念和使用场景

    2021年11月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号