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

  • 相关阅读:
    plsql查询中文乱码
    ORA-12514: TNS:listener does not currently know of service requested in connect
    linux 手动配置ip地址方法
    开机自起tomcat
    (静默安装)Cent OS 6_5(x86_64)下安装Oracle 11g
    Linux下启动Oracle服务和监听程序
    linux下强制安装rpm包
    谷歌浏览器如何将整个网页保存为图片
    C语言移位和位运算
    MySQL连接的使用
  • 原文地址:https://www.cnblogs.com/codexlx/p/13229979.html
Copyright © 2011-2022 走看看