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

位运算之加减乘除

时间:2020-07-04 13:47:25      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:运算   计算   异或   图片   减法   多个   code   --   有符号   

1.加法:

如:4+5

 

    0000 0100       0000 0100

    0000 0101         0000 0101

按位加--------------------   (1)异或---------------------     不考虑进位的情况下,异或的结果与按位加一样

    0000 1001            0000 0001

判断是否有进位,(两个都为1就有进位)。需要用到与运算(两个都为1才为1)

      0000 0100

      0000 0101

(2)与运算--------------------

      0000 0100     结果不为0,说明(左3)有进位

即:

  • 计算机先进行异或(不一样为1)的操作---(0000 0001)
  • 再进行运算(都为1时为1),如果与运算结果(0000 0100)不为0说明二进制同一位的都是1,需要进位(与运算结果左移一位)---(0000 1000);
  • 将异或结果和与结果继续异或运算---(0000 1001)
    • 0000 0001
    • 0000 1000
    • --------------
    • 0000 1001
  • 再判断刚才执行异或运算的结果进行与运算判断是否有进位:
    • 0000 0001
    • 0000 1000
    • --------------
    • 0000 0000

过程如下:

技术图片

 

2.减法

减法对计算机来说就是假发

(1)异或:

  0000 0100

  1111 1011

  -----------------

  1111 1111

(2)判断是否有进位(与的方式)

  0000 0100

  1111 1011

  -----------------

  0000 0000

没有进位说明结果就是1111 1111 即16进制FF(负数以补码形式存在),有符号的十进制就是-1

 

3.乘法:本质就是多个值相加,也就是加法

4.除法:本质是一个值能减几个数

 

位运算之加减乘除

标签:运算   计算   异或   图片   减法   多个   code   --   有符号   

原文地址:https://www.cnblogs.com/codexlx/p/13229979.html

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