博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
~(取反操作符)的探索
阅读量:4678 次
发布时间:2019-06-09

本文共 450 字,大约阅读时间需要 1 分钟。

一、定义

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

二、举例说明

正数:~(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的时候,其实这是负数的补码,这一点很重要。          

 

转载于:https://www.cnblogs.com/cherish836138981/p/10874655.html

你可能感兴趣的文章
【设计模式】原型模式
查看>>
【监控】WebServer入库与缓存更新代码优化小计
查看>>
[洛谷P5174]圆点
查看>>
Spark BlockManager的通信及内存占用分析(源码阅读九)
查看>>
AJAX 局部刷新 GridView 进行数据绑定
查看>>
OpenCV学习(一)基础篇
查看>>
windows 编程中的常见bug
查看>>
焦点图下面的索引小圆环
查看>>
C++动态分配指针数组
查看>>
NOSql之redis的学习
查看>>
[SoapUI] 通过Groovy写文本文件
查看>>
[Training Video - 7] [Database connection] Part 1
查看>>
springMvc入门教程2(集成mybatis和参数绑定)
查看>>
[SRM] 10 CCZ的诗
查看>>
附2 rabbitmq用户管理、角色管理与权限管理
查看>>
克隆虚拟机以及两台linux机器相互登录:linux学习第四篇
查看>>
Oracle-建表course
查看>>
Java常用的非受检异常
查看>>
HDOJ-2054
查看>>
centos7安装eclipse
查看>>