zoukankan      html  css  js  c++  java
  • 位运算之加减乘除

    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.除法:本质是一个值能减几个数

  • 相关阅读:
    QT常用技巧--程序延时
    python中zip()函数的用法
    numpy.random.choice(a, size = None, replace = True, p = None)用法
    Python keras.layers .ZeroPadding2D() 详解
    Socat 入门笔记
    echo命令的使用
    Type Error('keyword argument not understood: ', 'interpolation') 解决方案
    Pytorch 包下载
    双边滤波Matlab代码
    hihocoder 第170周 Word Construction (dfs+剪枝)
  • 原文地址:https://www.cnblogs.com/codexlx/p/13229979.html
Copyright © 2011-2022 走看看