《CODE》读后笔记——第1~13章

1.电筒密谈

  • Morse code表

  • 文中提到"英语词汇就是一种编码"。这句话仿佛有一种哲学思想在里面,万物皆可以以任何形式编码,只是编码的方式和途径不同。有些编码简单易懂易于接受,有些编码复杂难以理解。
  • 简单的编码分配给常用的情况,复杂的编码分配给不常用的情况,这样可以提高效率。
  • 实际上任何两种不同的东西经过一定的组合都可以代表任何种类的信息。二进制可以表示一切嘛!

2.编码与组合

  • 树的用处。这个可能就是二叉树的原型吧?

3.布莱叶盲文与二元编码

  • 摩尔斯编码是不定长的,但是布莱叶盲文是定长的。这个应该是两种编码本质的区别吧。
  • 布莱叶盲文还拓展了二级布莱叶码,这个提高了编码的效率,有点压缩的味道。
  • "先行码/前置码"或"转义码"标识改变了跟随其后的码字的含义,如从字母变数字或从数字变字母。它们更改其后字符的含义直至更改作用被取消。
  • "换码代码",如大写标识表示其后的字母(也仅有字母)应写成大写。"换码代码"使你"避免"那种单调的、常规的码字解释,而转入一种新的解释方法。

4.手电筒剖析

5.绕过拐弯的通信

6.发报机与继电器

  • 大学电工学里学到继电器时,觉得可以通过继电器用弱电控制强电,并可以用作逻辑处理(PLC)。现在看过这一章觉得继电器有中继,信号加强的作用。

7.十进制记数法

  • 与位置相关的记数系统的优点不在于它多么好用,而在于当它用在不是十进制的系统中 时,也一样的好用。

8.其他进位制记数法

9.二进制数

  • UPC相关:奇偶校验(有助于检验差错和识别正反向扫描),模校验(冗余)。看到这才知道条形码的原理!

10.逻辑与开关

  • 逻辑,布尔,集合。息息相关,突然觉得高中学的集合原来是这个用处的。

11.逻辑门电路

  • 《code》书中常用的逻辑门(1)

AND gate


与门





OR gate


或门





NOR gate


或非门





NAND gate


与非门





XOR


异或门





XNOR


同或门


对异或门取反即是同或门

 
缓冲器




缓冲器用在当输入信号很弱时,也可用于延迟一个信号。

 
反向器




反 向器不是逻辑门(逻辑门通常有两个以上的输入)。此处存疑?

 
求补器

 


 
2-4译码器

 

 
  • 一个门(或反向器)的输出可以作为其他门(或反向器)的输入,但是两个以上的门(或反向器)的输出永远不能互连在一起。
  • 迪摩根定律:             A和B是两个布尔操作数。

12.二进制加法机

  • 半加器:将A和B两个二进制数相加,得到一个和输出和进位输出。不能计算进位。
  • 全加器:两个半加器和一个或门组合成全加器。实现进位计算。
  • 加法器总体的速度等于加数的位数乘以单个全加器的速度,这种进位方式称为行波进位。 更快的加法器使用称为先行进位的加法电路,从而加快了加法进程。

13.如何实现减法

  • 1的补数也称为相反数或反码。
  • 加减法器组成如下图。

  • 10的补数是9的补数再加1,2的补数是1的补数(反码)再加1。
  • 一般而言,若两个操作数的符号相同,而结果的符号与操作数的符号不相同时,这样的 加法是无效的(即加法运算产生了溢出)。
时间: 2024-12-30 03:09:32

《CODE》读后笔记——第1~13章的相关文章

JavaScript权威指南第13章 web浏览器中的javascript

13.1 客户端javascript window对象是所有的客户端javascript特性和api的主要接入点.表示浏览器的一个窗口,可以通过window对象来引用它. window 的方法 alert() prompt() confirm() 13.2 在html里嵌入javascript 4种方法: 内联:放置在<script></script>标签之中 外部引入:<script src="   "></script> html程序

《深入Java虚拟机学习笔记》- 第13章 逻辑运算

<深入Java虚拟机学习笔记>- 第13章 浮点运算 <深入Java虚拟机学习笔记>- 第13章 逻辑运算,布布扣,bubuko.com

阅读《实例化需求》1-3章有感

今天我阅读了<实例化需求>的1-3章. 第一章主要是讲实例化需求的好处.实例化需求说明是一组过程模式,他帮助团队构建正确的产品. 使用实例化需求说明,团队编写的文档恰到好处,在短迭代或基于流的开发中可以有效地协助变更. <实例化需求>这本书不是以理论的方式来构建一个案例来阐述实例化需求说明的好处,而是来自 于那些来自于那些大大受益于实例化需求说明的团队. 实例化需求可以更有效地实施变更,主要是通过活文档.活文档是系统功能的一个信息源,与程序 代码一样可靠,但更容易使用和理解.他帮助

js高程笔记13章

第13章 事件 1.事件流:描述从页面中接收事件的顺序. 三个阶段:捕获,处于目标,冒泡. 2.事件处理程序:局部变量event表示事件对象,this值为事件目标元素. (1)HTML事件处理程序:可以访问特性.弊端:可能调用事件处理程序时,函数还未定义.同时代码紧密耦合,修改不便. (2)DOM0级事件处理程序:this引用当前元素.弊端:一个元素只能添加一个事件处理程序. (3)DOM2级事件处理程序:addEventListener()和removeEventListener().无法移除

第 13 章 装饰模式【Decorator Pattern】

以下内容出自:<<24种设计模式介绍与6大设计原则>> Ladies and gentlemen,May I get your attention,Please?,Now I’m going to talk about decoratorpattern.装饰模式在中国使用的那实在是多,中国的文化是中庸文化,说话或做事情都不能太直接,需要有技巧的,比如说话吧,你要批评一个人,你不能一上来就说你这个做的不对,那个做的不对,你要先肯定他的成绩,表扬一下优点,然后再指出瑕疵,指出错误的地方

《白帽子讲WEB安全》学习笔记之第13章 应用层拒绝服务攻击

第13章 应用层拒绝服务攻击 13.1 ddos简介 DDoS攻击通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的.这种攻击方式可分为以下几种: q  通过使网络过载来干扰甚至阻断正常的网络通讯: q  通过向服务器提交大量请求,使服务器超负荷: q  阻断某一用户访问服务器: q  阻断某服务与特定系统或个人的通讯. IP Spoofing IP欺骗攻击是一种黑客通过向服务端发送虚假的包以欺骗服务器的做法.具体说,就是将包中的源IP地址设置为不存在或不合法的值.服务器一旦接受到该包便会

第13章 线程

第13章 线程线程具有提高执行速度的特点. 本章重点:----------------------------------线程的基本概念创建并使用线程线程的让步.同步等操作 进程就是一个执行中的程序,每一个进程都有其独立的内存空间和系统资源.进程就是一个运行的程序,Windows操作系统是支持多进程的操作系统,即同一时间可以执行多个程序,每个程序是在自己独立的内存空间内,使用自己被分配到的系统资源.线程是CPU调度和分派的基本单位,一个进程可以由多个线程组成,而这多个线程共享同一个存储空间,这使

【Android】13.0 第13章 创建和访问SQLite数据库&mdash;本章示例主界面

分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 Android 内置了三种数据存取方式:SQLite数据库.文件.SharedPreferences. 这一章我们主要学习如何使用SQLite数据库存取数据. 1.SQLite是个什么档次的数据库 SQLite是一种免费的.开源的数据库,由于它独特的设计(把各种数据类型都转换为它自己内部处理的5种类型)导致其占用内存极少,因此很多项目都喜欢使用它. Android集成了SQLite并内置了专门对SQLite操作

C++ primer plus读书笔记——第13章 类继承

第13章 类继承 1. 如果购买厂商的C库,除非厂商提供库函数的源代码,否则您将无法根据自己的需求,对函数进行扩展或修改.但如果是类库,只要其提供了类方法的头文件和编译后的代码,仍可以使用库中的类派生出新的类.而且可以在不公开实现的情况下将自己的类分发给其他人,同时允许他们在类中添加新特性. 2. 派生类构造函数首先创建基类对象,如果不调用基类构造函数,程序将使用默认的基类构造函数. 3. 创建派生类对象时,程序首先调用基类构造函数,然后再调用派生类构造函数.派生类对象过期时,程序将首先调用派生