美文网首页
《程序员的数学基础课-二进制,了解计算机的源头》学习笔记

《程序员的数学基础课-二进制,了解计算机的源头》学习笔记

作者: 冰果2016 | 来源:发表于2018-12-11 12:52 被阅读63次

二进制,了解计算机的源头

WechatIMG43.jpeg

二进制的位操作:

向左移位

二进制左移一位,就是将数字翻倍

// javascript左移运算符<<
  53 << 1; // 106
  53 << 2; // 212
// javascript左移赋值运算符<<=
var temp = 53;
temp <<= 2; // temp = 212
向右位移

二进制右移一位就是将数字除以2并求整数商。右移位有两种表达方式>>,>>>。因为在javaScript,JAVA的二进制中最高位为符号位。当符号号为0时表示正数,当符号为1时表示负数。

算术右移(>>)

算数右移时保持符号位不变,除符号之外的右移一位并补0,补的0仍然在符号位之后。

// javascript右移位运算符>>
53 >> 1 // 26
212 >> 3 // 26
-53 >> // -27
-212 >> 3 // -27
// javascript右移赋值运算符<<=
var temp = 53;
temp >>= 2; // temp = 13
逻辑右移(>>>)

逻辑右移1位,左边补0即可。

// javascript无符号右移位运算符>>>
53 >>> 1 // 26
212 >>> 3 // 26
-53 >>> 1 // 2147483621
-212 >>> 3 // 536870885
// javascript无符号右移位赋值运算符>>>
var temp = 53;
temp >>>= 2; // temp = 13

位的"异或"

两个数值按位异或结果为0,是这两个数值相等的必要充分条件,可以作为判断两个变量是否相等的条件。


位的异或

相关文章

  • 《程序员的数学基础课-二进制,了解计算机的源头》学习笔记

    二进制,了解计算机的源头 二进制的位操作: 二进制左移一位,就是将数字翻倍 二进制右移一位就是将数字除以2并求整数...

  • 程序员的数学基础课

    参考:程序员的数学基础课 第一章:二进制 1、什么是二进制计数法? 理解二进制之前,先理解十进制。十进制的基数是1...

  • 程序员的数学笔记1--进制转换

    最近在学习极客时间的课程--程序员的数学基础课。 课程地址:https://time.geekbang.org/c...

  • 计算机的数学思想源头(回复“计算机数学”可下载PDF典藏版) 最近很火的《计算机科学的数学》是本什么样的书? 《算...

  • 【原】机器学习——入门篇

    【说明】 来自慕课网机器学习基础课程的学习笔记,扫盲基本概念。 一、什么是机器学习 定义:利用计算机从历史数据中找...

  • 《程序员的数学基础课-程序员应该怎么学数学》学习笔记

    导读:程序员应该怎么学数学? 说一下自己之前是怎么学数学的,买了本讲数学历史的书籍,按数学里各种概念出现的时间顺序...

  • 关于字符编码

    作为一名程序员,对编码问题有必要了解一下。计算机是以二进制形式存储数据的,至于为什么选择二进制,这可能就需要从计算...

  • CS笔记-二进制和十进制的转换

    最近在看计算机基础课程,其中有涉及到二进制和十进制的转换,由于是视频课程,对其中的转换部分不甚熟悉,所以补充学习了...

  • 程序员的数学基础课学习记录

    1、怎么学 不要纠结数字计算,把握数学的工具属性,用数学的理论和抽象思想去解决问题,多思考不同问题是否可以用同一个...

  • 动态规划-如何推导出状态转移方程?

    今天学习了《程序员的数据基础课》中的动态规划小节。如果你觉得这个课程对你有启发,请通过 分享一个IT专属的数学课,...

网友评论

      本文标题:《程序员的数学基础课-二进制,了解计算机的源头》学习笔记

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