01.02 笔记-二进制及位运算

2019-01-02  本文已影响0人  xxxQinli

计算机存数据只能存数字数据,而且是二进制的补码

计算机对数据进行运算的时候使用补码进行运算的,将数据从计算机中读出来,显示的是原码

什么是补码


1. 原码

2. 反码

3. 补码

练习: -50的原码、反码、补码

原码:1110010

反码:1001101

补码:1001110

为什么要存补码,因为计算机里只有加法器,没有减法器


位运算:

&(按位与) |(按位或)~(按位取反)^(按位异或)>>(右移) <<(左移)

参与运算的都是补码,位运算的执行效率要高很多

  1. 与运算 &
    数字1 & 数字2 - 有0就是0
    参与运算的都是补码:0111 & 1101 --> 每一位上分别与 若都为1,则为1,有一个是0,就是0,0101
    特点:一个位上的数如果和1与,可以保留这个数,和0与,可以置0
  1. 或运算 |
    只要有1,就是1
    1 | 1 = 1
    1 | 0 = 1
    0 | 1 = 1
    0 | 0 = 0
  1. 取反 ~
    ~ 数字
    ~ 1 ----> 0
    ~ 0 ----> 1
    补码取反,要反着求回原码
    去反两次等于本身,连续两个波浪号

  2. 异或^
    相同为0,不同为1
    1 ^ 1 = 0
    1 ^ 0 = 1
    0 ^ 1 = 1
    0 ^ 0 = 0

  1. 左移<< 右移>>
    数字1 << N, 数字1左移N位
    数字1 >> N, 数字1右移N位
上一篇下一篇

猜你喜欢

热点阅读