取反符

将二进制表示的数字中的0变为1, 1变为0

但是需要注意的是c++中对int型进行取反操作时,将前面的前导0也进行了取反(int型变量为32bit)。

比如1的二进制表示是

00000000 00000000 00000000 00000001

~(00000000 00000000 00000000 00000001) = 11111111 11111111 11111111 11111110

负数的二进制表示

负数的二进制表示 = 其绝对值的补码

原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。

比如-3的原码是:

00000000 00000000 00000000 00000011

反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。

-3的反码是:

11111111 11111111 11111111 11111100

补码:反码加1称为补码。也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。

那么-3的补码,也就是-3的二进制表示为:

11111111 11111111 11111111 11111100 + 1

= 11111111 11111111 11111111 11111101

同理,整数-1在计算机中的二进制表示为:

1、先取1的原码:00000000 00000000 00000000 00000001

2、得反码: 11111111 11111111 11111111 11111110

3、得补码: 11111111 11111111 11111111 11111111

结论

只有~(-1) = 0

其他整型数取反都是非0的

c++ 整数取反_c++ 取反运算符“~”相关推荐

  1. c语言负数左移右移_C语言位运算符:与、或、异或、取反,左移和右移

    C语言位运算符:与.或.异或.取反.左移和右移 个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. ,则该位的结果值为1,否则为0 | ...

  2. 对于整数取反(取负NEG)运算的理解

    对于整数取反(取负)运算的理解 对于<计算机系统基础>中对于取负[NEG]运算还不是很理解,于是查了部分的论文 引文 引文:博主AlwaysSimple的文章:https://blog.c ...

  3. 系统检测到您正在使用网页抓取工具_【安全】58反抓取简介

    0x00 介绍 网络爬虫,常又被称呼为Spider,网络机器人,主要模拟网络交互协议,长时间,大规模的获取目标数据. 普通爬虫会从网站的一个链接开始,不断收集网页资源,同时不断延伸抓取新获取的URL以 ...

  4. python爬虫反爬机制_浅谈爬虫及绕过网站反爬取机制之Python深度应用

    我们中公优就业的老师希望能给那些面临困境的朋友们带来一点帮助!(相关阅读推荐:Python学习就看这里!) 爬虫是什么呢,简单而片面的说,爬虫就是由计算机自动与服务器交互获取数据的工具.爬虫的最基本就 ...

  5. 结构体运算符与取余_c语言取余(c语言去整和取余)

    1.1%12 == 1, 3%8 == 3;2.% 为取余运算,符号由被除数决定 e.g. -7%4 == - 3, 7%(-4) == 3, -7%(-4) == -3; C语言提供了一个取余数的运 ...

  6. 爬取起点中文网字体反爬取

    参考文章:https://www.jianshu.com/p/fbc99cf4d557 个人比较喜欢看小说,于是乎想爬取小说网站--起点中文网,在爬取定位过程中遇到了反爬取,咨询了我旁边的前端大神,说 ...

  7. java整属取余数_js取整数、取余数的方法

    摘要:这篇JavaScript栏目下的"js取整数.取余数的方法",介绍的技术点是"取余数.取整数.取余.取整.js.方法",希望对大家开发技术学习和问题解决有 ...

  8. python的取整和取余_python中取整运算符

    Python几种取整的方法 python 为什么算除法自动取整了.,计算10/a 在2.x版本都是这样,会自动取整. 在3.x版本以上改了,结果保留浮点数.系统本身设计就这样的.可以认为是开发pyth ...

  9. 数学运算符 +(加)、-(减)、(乘)、(除)、%(取余;取模)、(整除)、(幂运算)及分支结构

    数学运算符: +(加).-(减).*(乘)./(除).%(取余;取模).//(整除).**(幂运算) 1. +.-.*./ python的加减乘除和小学数学中的加减乘除的功能一样 print(3 + ...

最新文章

  1. 记住,永远不要在MySQL中使用“utf8”
  2. JAVA实现单链表数据结构_java实现数据结构单链表示例(java单链表)
  3. 不支持图形化界面的Linux系统如何显示图像化界面?飞腾服务器显示图像化界面方法,DISPLAY environment variable is undefined问题解决方法
  4. YOLOv3最全复现代码合集(含PyTorch/TensorFlow和Keras等)
  5. postfix本机测试本机时,telnet连接出错
  6. 老男孩教育参观云计算公司
  7. libc glibc glib 的关系
  8. 动态规划练习1 [导弹拦截]
  9. C++语法:构造函数以及析构函数
  10. Java描述设计模式(10):组合模式
  11. python对编写神经网络作用_神经网络(BP)算法Python实现及应用
  12. 常用设计模式——创建型
  13. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(南京)签到题F Fireworks
  14. Android学习之多触点滑动
  15. 大数据_HDFS原理
  16. C++天天练——两点间的距离
  17. element-ui 日期选择器DateTimePicker 的日期和后台不匹配,无法绑定(日期中含有T,Z)
  18. BZOJ3420: Poi2013 Triumphal arch
  19. ocm认证年薪多少_年薪 100 万在 IT 行业中,属于什么水平 ?
  20. 【原创】聊天机器人与自动问答技术

热门文章

  1. LeetCode—210. 课程表 II
  2. Docker Swarm建立服务器集群
  3. html中dd dt的效果,html中dt dd
  4. Java面向对象(2) —— 继承
  5. 为什么需要StringBuffer
  6. java上下文即ServletContext
  7. php标签调用,phpcms栏目标签调用代码大全
  8. 面试:TCP协议面试10连问,总会用得到,值得收藏!
  9. 收集常用电路基础公式换算
  10. 后端:Spring IOC 知识点总结,写得太好了!