计算机按位取反[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。
概念
*二进制数在内存中以补码的形式存储。
~是按位取反运算
可以通过原码、反码和补码三者的含义及关系来介绍三者之间的换算关系: 1、原码 原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。 比如如果是8位二进制: [+1]原 = 0000 0001 [-1]原 = 1000 0001 第一位是符号位。 2、反码 正数的反码是其本身 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反. [+1] = [00000001]原 = [00000001]反 [-1] = [10000001]原 = [11111110]反 第一位是符号位。 3、补码 正数的补码就是其本身 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1) [+1] = [00000001]原 = [00000001]反 = [00000001]补 [-1] = [10000001]原 = [11111110]反 = [11111111]补 第一位是符号位。 注:补码的补码等于原码,如:-1的补码为11111111,则11111111的反码为10000000 补码为10000001(-1的原码)。
实例
~1=-2
步骤一:1的二进制码 0000 0001 步骤二:1的补码 0000 0001 步骤三:按位取反 1111 1110 步骤四:求其原码(负数的补码求其原码 是-1取反) 补码-1为 1111 1101 然后取反 1000 0010 为-2
~2 =1
步骤一:2的二进制原码 1000 0010 步骤二:2的补码(负数补码为取反+1) 取反 1111 1101 先+1 1111 1110 步骤三:按位取反(正数的补码还是其本身 ,补码->本身 不变) 0000 0001 其原码 0000 0001(为1)
实际运算举例 ~5
简单:加1符号位变 变-6
~-5 简单:负数就是加1 符号位变 4
总结
在按位取反的过程中
注意计算机存储的是每个数的补码,所以先求其补码,然后全部位按位取反 再求其原码
在再求其原码
注意现在是正数还是负数
正数的反码是其本身 正数的补码是其本身 负数的反码是除符号位其他全部按位取反 负数的补码是反码+1
最后总结 求补码,按位取反,求原码为结果 最后总结 求补码,按位取反,求原码为结果 最后总结 求补码,按位取反,求原码为结果
新总结
符号位(变化) +其他全部变化
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170479.html原文链接:https://javaforall.cn
相关文章
- 计算机组成原理知识点总结(第2篇 第3、4章)[通俗易懂]
- 计算机加密无法连接打印机,0x00000006无法连接打印机怎么办[通俗易懂]
- 键盘 计算机代码,键盘钩子示例[通俗易懂]
- 计算机应用网线接口亮红灯,网线插在电脑上网口灯不亮是为什么?
- 计算机设计大赛作品开发文档[通俗易懂]
- 计算机的国产灵魂到底差在了哪里
- 启动计算机 gho文件,u盘里只有gho文件怎么重装win7系统图解
- 计算机网络体系结构综述(上)[通俗易懂]
- 微型计算机的字节取决于什么的宽度,计算机字长取决于什么的长度[通俗易懂]
- 计算机基础知识-操作系统
- 计算机基础知识[通俗易懂]
- 计算机一级本本可以办吗,笔记本电脑卡怎么办,小编教你笔记本电脑太卡怎么解决…[通俗易懂]
- 计算机win7卡顿如何解决方法,win7卡顿严重解决方法_win7运行卡顿严重最流畅设置方法-win7之家…[通俗易懂]
- 计算机win7卡顿如何解决方法,win7电脑出现卡顿怎么办_win7电脑卡顿严重解决方法…[通俗易懂]
- 计算机主板电源接口8pin,菜鸟老鸟都要知道 电源接口图文全教程[通俗易懂]
- 富集学习:行为,大脑,和计算机制
- 【计算机视觉】OpenCV图像处理基础
- 计算机底层知识之处理小数
- 新TBI计算机模型能绘出老鼠脑血管图
- Linux分支:探索未来的计算机之路(linux的分支)
- 微信网友对话极视角CTO黄缨宁,畅谈计算机视觉与人工智能
- 如何使用Linux的cc防火墙保护你的计算机安全?(linuxcc防火墙)
- 轻便便的 Linux:适合你的移动设备和小型计算机(轻量级的linux)