按位取反~运算_按位与按位或按位异或运算符

按位取反~运算_按位与按位或按位异或运算符按位取反~运算首先我们来看按位取反的概念按位取反运算符:对数据的每个二进制位取反,即把0变成1,把1变成0.即~x=-x-1这里按照定义9的二进制为00001001其按位取反为11110110结果为-10这个过程没有任何问题,但是如果忘记了负数的二进制表达方式,就会对这个结果产生疑问,为什么11110110表示-10而不是503?理解按位取反的关键是理解11110110为什么表示-10,也就是负数的二进制表达方式。现在计算机普遍使用补码表示负数。知道补码,求源码的方式是:值取反再加1。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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

按位取反~运算


首先我们来看按位取反的概念

按位取反运算符:对数据的每个二进制位取反,即把0变成1,把1变成0.

即~x=-x-1

这里按照定义

9的二进制为00001001
其按位取反为11110110
结果为-10

这个过程没有任何问题,但是如果忘记了负数的二进制表达方式,就会对这个结果产生疑问,为什么11110110表示-10而不是503?理解按位取反的关键是理解11110110为什么表示-10,也就是负数的二进制表达方式。

现在计算机普遍使用补码表示负数。

知道补码,求源码的方式是:值取反再加1。
补码的第一位符号位决定了源码的正负,第一位为0源码为正,第一位为1源码为负。

现在我们可以理解上面那个例子,9按位取反后得到11110110,其第一位为1,源码为负值。
取反后为00001001,再加1得00001010,其值为10,再加上负号即为-10。

也即 ~9=-10

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

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

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


相关推荐

  • busybox 安装mysql_安装busybox「建议收藏」

    busybox 安装mysql_安装busybox「建议收藏」安装busybox按以下步骤即可:1.root手机2.查看手机支持的cpu架构:cat/system/build.prop|grepabi我手机查出来的结果如下所示:ro.product.cpu.abi=armeabi-v7aro.product.cpu.abi2=armeabi3.下载适合你手机的Busybox,可以直接下载binary文件,地址如下:https://busybox.ne…

    2022年7月25日
    12
  • pycharm2021 激活码_通用破解码[通俗易懂]

    pycharm2021 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    87
  • maven版本查看_maven最新版本

    maven版本查看_maven最新版本工作中,我们经常要操作maven以及配置maven,有时还需要向maven中手动添加jar包;那么如何查看maven的版本呢?第一种方法:就是从你安装maven插件的目录文件夹中可以看出;第二种方法:直接使用黑窗口命令查看:但是前提是mavenhome环境变量必须配置好否则无法查看;输入命令 mvn-version 那,如何配置maven的环境变量呢?计算机–右键…

    2022年8月22日
    6
  • python hexdump_笨办法学 Python · 续 练习 26:`hexdump`

    python hexdump_笨办法学 Python · 续 练习 26:`hexdump`练习26:hexdump你已经用xargs完成了热身,现在正在代码/审计的循环中。你现在将尝试以“测试优先”方式完成下一个挑战。这就是,你编写测试,它描述你的预期行为,然后实现该行为,直到通过测试。你将要复制hexdump工具,并尝试将你的版本的输出与真实版本匹配。这是“测试优先”开发真正有帮助的地方,因为它自动化了模仿另一个软件的流程。当你需要编写一个糟糕的软件的替代品时,这种技术非常有用。软…

    2022年9月21日
    2
  • php 5 与7有什么区别

    php 5 与7有什么区别

    2021年11月10日
    43
  • 基于深度学习的视频识别方法概览

    基于深度学习的视频识别方法概览来源:阿里云安全 作者:深度学习在最近十来年特别火,几乎是带动AI浪潮的最大贡献者。互联网视频在最近几年也特别火,短视频、视频直播等各种新型UGC模式牢牢抓住了用户的消费心里,成为互联网吸金的又一利器。当这两个火碰在一起,会产生什么样的化学反应呢?  不说具体的技术,先上一张福利图,该图展示了机器对一个视频的认知效果。其总红色的字表示objects,蓝色的字表示scenes

    2022年5月2日
    35

发表回复

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

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