美文网首页
计算机底层知识-二进制

计算机底层知识-二进制

作者: 麦大大吃不胖 | 来源:发表于2020-11-25 18:53 被阅读0次

by shihang.mai

10进制是逢10进1,2进制便是逢2进1

1. 二进制和十进制转换

1.1 正数

二进制的每一位=10进制的2^位的值。
例如
2进制: 0 0 1 0 0 1 0 0
10进制: 2^2 + 2^5 = 36

1.2 负数

最高位为1,用其余的数去表示实际的数

2进制: 1 1 0 1 1 1 0 0
10进制: 符号位不变,然后~(2进制) + 1 = -36

2. 源码、反码、补码

源码:0 0 1 0 0 1 0 0
反码:1 1 0 1 1 0 1 1(1->0 0->1)
补码:1 1 0 1 1 1 0 0(反码基础上+1)

2.1 负数用补码的好处

就是为了用一个代码逻辑去做运算,而不用if else那么多逻辑表示

3. 二进制的逻辑运算

运算符 描述 举例
&(与) 遇0则0 1 & 1 = 1
1 & 0 = 0
0 & 0 = 0
|(或) 遇1则1 1 | 1 = 1
1 | 0=1
0 | 0 = 0
~(取反) 取反 ~ 1 = 0
~ 0 = 1
^(异或) 不进的2进制 1 ^ 1=0
1 ^ 0=1
0 ^ 0=0
>>(右移) 右移动,补符号位(原最高位是什么补什么),移多少位都补同一个数字 >>00100100将最右边的0向右移,符号位0=00010010
>>11011100将最右边的0向右移,符号位补1=11101110
<<(左移) 左移动,永远补0 <<00100100将最左边的0左移,末尾补0=01001000
>>>(无符号右移) 右移动,补符号位永远补0 >>>00100100将最右边的0向右移,符号位0=00010010

3.1 异或作用举例

首先需要知道异或性质

  1. 0 ^ N = N
  2. N ^ N = 0
  3. 异或与数字顺序无关

例如下面有这么一道题:
a=3 b=4 如何交换? 预期结果 a=4 b=3

a=a^b
b=a^b
a=a^b
a b交换.png

4. 计算机进制

  • 1bit =1位
  • 8bit = 1Byte
  • 1KB =1024Byte
  • 1MB =1024KB
  • 1GB =1024MB

相关文章

  • 计算机底层知识-二进制

    二进制 by shihang.mai 2转10 10转2 源码、反码、补码 10转2负数: 2负数转10: 负数用...

  • 面试百度被问:简单了解下为什么会乱码,怎么恢复?

    计算机是如何存储字符的? 大学都学过计算机相关的基础知识,计算机只能计算二进制数据,因为二进制表示起来最方便。计算...

  • typeof检测数据类型

    所有的数据类型值,在计算机底层都是安装64位的二进制进行存储的 typeof是按照二进制值进行检测类型的 二进制前...

  • java基础扫盲(一)字节字符和位

    历史问题 大家都知道计算机这东西是洋鬼子搞出来的,他的底层实现是二进制。也就是说,计算机里面,二进制,简简单单的0...

  • js检测数据类型有那些方法

    1. typeof 直接在计算机底层基于数据类型的值(二进制)进行检测 tyepof null "object"...

  • 计算机底层知识

    姓名:王紫圣 学号:16130140355 转载自: 手游实验室 【嵌牛导读】本章主要介绍操作系统、文件系统相关...

  • JavaScript数据类型检测

    1、typeof原理: 直接在计算机底层基于数据类型的值(二进制)进行检测缺点: typeof null "obj...

  • 一文搞懂原码、反码、补码

    转自:https://www.jianshu.com/p/36ec7a047f29 计算机底层均是以二进制表示的,...

  • 进制与转换

    首先计算机使用二进制表示, 因为对于底层硬件来讲,二进制是比较方便计算和存储的; 十进制的位权展开式 非十进制转换...

  • 算法训练 -- 第一章 线性表

    一、位操作 所有数据在计算机底层都是以二进制形式存在的存储时:数据以二进制数字形式进行存储计算时:数据以补码形式参...

网友评论

      本文标题:计算机底层知识-二进制

      本文链接:https://www.haomeiwen.com/subject/vjnniktx.html