码迷,mamicode.com
首页 > 其他好文 > 详细

计算机不会做加法(位运算)

时间:2020-01-28 19:35:42      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:src   style   形式   unsigned   图片   比较   四则运算   das   汇编   

之前还有一个计算机的原码反码补码,这些比较简单 ,大家可以自行了解

不过要掌握一个思路

拿到一个二进制数据时    拿到数据(二进制)———>  搞清楚时以什么方式编码(视频还是txt)——————>根据不用方式的编码规则编码

一. 计算机的运算--(位运算)

技术图片

 

 

 二.为什么要学习位运算??

技术图片

 

 

 三.位运算

1.与运算

技术图片

 

 

 

2.或运算

技术图片

 

 

 

3.异或运算

技术图片

 

 

 

4.非运算(取反)

技术图片

 

5.左移动(相对简单)

 

 技术图片

 

 

6.右移

在汇编里面右移动 补0就用shr

                  右移动 补符号位就用sar

在c语言里面补0和补符号位用的都是>>

c语言会根据unsigned和int来判断你是有符号还是无符号数,然后决定补0还是

unsigned无符号

int计算机就是默认有符号

技术图片

 

 

 

 

四.通过位运算实现四则运算

1. 比如4+5的运算过程

可以发现 在没有进位的情况下,加法和异或的结果一致

技术图片

 

 所以当计算机运算的时候,先 异或  在判断有没有 进位  再 异或 

技术图片

 

 

 与运算是为了判断哪个位置出现进位技术图片这个位置出现进位

 

 

异或并没有将进位考虑过去

所以要把进位的结果和异或的结果再相加,注意的是 我们再次加的时候要把0000 0100 左移1位(因为有一个进位)

 

 技术图片

 

 技术图片

 

 再判断是否有进位 与一下看是否为0 没进位了就是最终结果

整体过程

技术图片

 

 

2.

4-5(其实也就是加法)

也就是4+(-5)负数的运算是以补码形式进行的

先异或 完事再与一下看看有没有进位 没有就完事了

 

技术图片

 

 

 

   技术图片

 

 

 技术图片

 

计算机不会做加法(位运算)

标签:src   style   形式   unsigned   图片   比较   四则运算   das   汇编   

原文地址:https://www.cnblogs.com/cat47/p/12238430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!