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

  • 相关阅读:
    狼文化的一点思考
    数据可视化之风向图
    谈谈JavaScript代码混淆
    比尔盖茨2016好书推荐
    Cesium原理篇:glTF
    个人 产品 团队(下):个人与团队
    技术 产品 团队(上):如何成为超级个体
    惊艳的HTML5动画特效及源码
    精心挑选的HTML5/CSS3应用及源码
    炫酷霸气的HTML5/jQuery应用及源码
  • 原文地址:https://www.cnblogs.com/codexlx/p/13229979.html
Copyright © 2011-2022 走看看