• ~(取反操作符)的探索


    一、定义

    取反操作符是位运算符的中一个,作用是按位补运算符翻转操作数的每一位。

    二、举例说明

    正数:~(6) 6的二进制表示 0000 0110

                                              按位取反  1111 1001    说明:在计算机中,正数用原码表示,负数使用补码存储,

                                                                                            首先看最高位,最高位1表示负数,0表示正数。

                                                                                             此计算机二进制码为负数,最高位为符号位。

                 根据补码得到原码,补码-1:1111 1000

          除最高位符号位外,其余位取反:1000 0111=-7

    所以结果是~6=-7

    负数:~(-6) -6的二进制表示  1000 0110              说明:在计算机中,负数使用二进制补码存储。

                                       反码  1111 1001 

    计算机中存储的二进制补码 1111 1010

                                     ~取反  0000 0101 

    所以结果是~(-6)=5

    三、总结

                在计算机中负数是按照二进制的补码存储的,所以当最高位为1的时候,其实这是负数的补码,这一点很重要。          

  • 相关阅读:
    springdata jpa
    springboot添加事务
    hibernate缓存
    idea下的hibernate反向生成插件
    hibernate级联查询映射的两种方式
    Spring Hibernate JPA 联表查询 复杂查询
    thymeleaf模板引擎
    java替换富文本标签等
    mac最新系统安装beego出现kiil 9
    xshell配置
  • 原文地址:https://www.cnblogs.com/cherish836138981/p/10874655.html
Copyright © 2020-2023  润新知