笔记|二进制

作者: 5a41eb2ceec6 | 来源:发表于2018-12-18 09:13 被阅读0次

路上听了极客时间的数学课,简单做点笔记

什么是二进制?

我们先来看十进制,十进制本质上使用10作为基数。

二进制就是以2作为基数,即二进制的数位就是2^n的形式

我们以 110101 为例子,看看在十进制里,它是谁

二进制

为什么使用二进制?

计算机之所以使用二进制和现代计算机系统的硬件实现有关。组成计算机系统的逻辑电路通常只有两种状态,即开关的接通和断开。由于每位数据只有断开和接通两种状态,所以几遍系统受到一定程度的干扰时,仍然能够可靠地分辨出数字是“0”还是“1”。如果使用十进制,那就要设计10种状态的电路,情况会变得很复杂,判断状态的时候就容易出错。

二进制的位操作

在了解了二进制后,我们再看看计算机语言中针对二进制的位操作(位运算)。即直接对内存中的二进制位进行操作。常见的有向左移位和向右移位的移位操作,以及“或”、“与”、“异或”的逻辑操作。

1.向左移位

比如110101向左移一位,即在末尾添加一位0,因此110101就变成了1101010。

向左移位

在数字溢出(位数超过系统指定的位数)情况下,需要将溢出的位数去除。

此外,我们还能看到此时如果把1101010换算成十进制,就是106,对比先前的53。我们得到一个结论:二进制左移一位,其实就是将数字翻倍

2.向右移位

比如110101向右移一位,即去除末尾的那一位,因此110101就变成了011010。

向右移位

此外,我们还能看到此时如果把011010换算成十进制,就是26,对比先前的53。我们得到一个结论:二进制左移一位,其实就是将数字除以2并求整数商的操作

3.位的“或”

从右向左,对相同位置的数字:参与操作的位中只要有一个位是1,结果就为1(只要有真就为真)

4.位的“与”

从右向左,对相同位置的数字:参与操作的位中必须全部为1,结果才为1(都是真才为真)

5.位的“异或”

从右向左,对相同位置的数字:如果参与操作的位相同,那么最终结果就为 0(假),否则为1(真)(不同才为真)

异或

以上为黄老师课的笔记

程序员数学基础课.jpg

相关文章

  • codewars(python)练习笔记一:查找二进制中“1”的

    codewars(python)练习笔记一:查找二进制中“1”的个数 题目: Write a function t...

  • byte和其它类型之间的互转

    把大佬的代码复制了下,做个笔记 Java基础数据类型二进制转换

  • http2的多路复用笔记

    学习笔记 HTTP2采用二进制格式传输,取代了HTTP1.x的文本格式,二进制格式解析更高效。多路复用代替了HTT...

  • Spring升级计划

    Spring 技术笔记Day 1 预热知识一、 基本术语Blob类型,二进制对象Object Graph:对象图...

  • 笔记|二进制

    路上听了极客时间的数学课,简单做点笔记 什么是二进制? 我们先来看十进制,十进制本质上使用10作为基数。 二进制就...

  • 03.网络篇 2:图片优化——质量与性能的博弈

    前置知识:二进制位数与色彩的关系 内容出自前端性能优化原理与实践,我作为笔记简单记录下。 一个二进制位表示两种颜色...

  • 学习笔记2

    学习笔记 2 对二进制对十进制的转换要加强,昨天听课过程中忽略了二进制与十六进制之间的转换,加深了对二的二十次方以...

  • 9月9日笔记

    9月9日学习笔记 十六进制与十进制,十六进制与二进制的相互转化 在计算机中的数据,最终都以二进制的形式存在,进行数...

  • 计算机组成原理--二进制编码

    算是读书笔记吧 极客时间--深入浅出计算机组成原理 二进制编码 二进制和我们平时用的十进制,其实并没有什么本质区别...

  • TensorFlow学习8:制作数据集

    将所有图片生成一个二进制数据集文件的过程 示例代码 参考:人工智能实践:Tensorflow笔记

网友评论

    本文标题:笔记|二进制

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