《CODE》读后笔记——第1~13章
1.电筒密谈
- Morse code表

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

3.布莱叶盲文与二元编码
- 摩尔斯编码是不定长的,但是布莱叶盲文是定长的。这个应该是两种编码本质的区别吧。
- 布莱叶盲文还拓展了二级布莱叶码,这个提高了编码的效率,有点压缩的味道。
- "先行码/前置码"或"转义码"标识改变了跟随其后的码字的含义,如从字母变数字或从数字变字母。它们更改其后字符的含义直至更改作用被取消。
- "换码代码",如大写标识表示其后的字母(也仅有字母)应写成大写。"换码代码"使你"避免"那种单调的、常规的码字解释,而转入一种新的解释方法。
4.手电筒剖析
无
5.绕过拐弯的通信
- 知乎上有一个对书中电路图的一个有趣提问,好像牵涉到什么共地电路。https://www.zhihu.com/question/27035909
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。
- 一般而言,若两个操作数的符号相同,而结果的符号与操作数的符号不相同时,这样的 加法是无效的(即加法运算产生了溢出)。
《CODE》读后笔记——第1~13章的更多相关文章
- ASM:《X86汇编语言-从实模式到保护模式》第13章:保护模式下内核的加载,程序的动态加载和执行
★PART1:32位保护模式下内核简易模型 1. 内核的结构,功能和加载 每个内核的主引导程序都会有所不同,因为内核都会有不同的结构.有时候主引导程序的一些段和内核段是可以共用的(事实上加载完内核以后 ...
- 【STM32H7教程】第13章 STM32H7启动过程详解
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第13章 STM32H7启动过程详解 本章教 ...
- Java核心技术卷一基础技术-第13章-集合-读书笔记
第13章 集合 本章内容: * 集合接口 * 具体的集合 * 集合框架 * 算法 * 遗留的集合 13.1 集合接口 Enumeration接口提供了一种用于访问任意容器中各个元素的抽象机制. 13. ...
- 第 13 章 StringTable详解
目录 第 13 章 StringTable 1.String 的基本特性 1.1.String 概述 1.2.String 的基本特征 1.3.String 的底层结构 2.String 的内存分配 ...
- Linux就这个范儿 第13章 打通任督二脉
Linux就这个范儿 第13章 打通任督二脉 0111010110……你有没有想过,数据从看得见或看不见的线缆上飞来飞去,是怎么实现的呢?数据传输业务的未来又在哪里?在前面两章中我们学习了Linux网 ...
- 《深入Java虚拟机学习笔记》- 第13章 逻辑运算
<深入Java虚拟机学习笔记>- 第13章 浮点运算
- 《Android开发艺术探索》读书笔记 (13) 第13章 综合技术、第14章 JNI和NDK编程、第15章 Android性能优化
第13章 综合技术 13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢?利用Thread类的set ...
- APUE读书笔记-第13章-守护进程
第13章 守护进程 13.1 引言 *守护进程也称精灵进程(daemon)是生存期较长的一种进程.它们常常在系统自举时启动,仅在系统关闭时才终止.因为它们没有控制终端,所以说它们是在后台运行的.UNI ...
- 第13章 模版方法模式(Template Method)
原文 第13章 模版方法模式(Template Method) 模板模式 模板模式 举例:模拟下数据库的update方法,先删除在插入. 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
随机推荐
- Hibernate一对一外键双向关联(Annotation配置)
如上图所示:一个学生有一个学生证号,一个学生证号对应一名学生.在Hibernate中怎么用Annotation来实现呢? 学生类,主键是id:学生证的主键也是Id: Student.java pack ...
- (转)javascript异步编程的四种方法
本文转自:http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html 作者:阮一峰 本文仅仅作为个人mark ...
- IOS--UIAlertView造成屏幕闪烁
在异步操作中,如果直接Show一个UIAlertView可能会造成屏幕闪烁(目前在iPhone5上发现),解决办法如下: UIAlertView *alert = [[UIAlertView allo ...
- iOS开发 代码 或 <Home+Power>截屏
1. 截屏的两种简单方法, 注意这两种截图方法,都必须在视图完全加载完成后才能截图,即在 viewDidAppear 方法之后截屏,否则无法得到想要的截屏效果 (1) 利用绘图方法 renderI ...
- 控制台telnet连接后无法关闭
按下ctrl+]然后再quit就可以close connection
- 有关Select option 元素
动态添加option元素以及option元素被选中方法: function getType() { ); shadowCoverTipAdd("加载中,请稍候.."); $.aja ...
- WPF自适应窗体实现小结
WPF自适应窗体实现小结 这几天,因工作需要,要对一个小软件进行UI调整.主要内容就是让其能够实现自适应窗体(包括文字和图标),做成像WIN7下的Media Center一样的UI.自适应窗体,顾名思 ...
- 【简易版】Java ArrayList(增删改查)
1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: (1)动态的增加和减少元素 (2)实现了ICollectio ...
- CSS3 结构伪类选择器 详解
1 CSS3 结构伪类选择器 1.E:root 匹配E元素所在的根元素 即:html 2. E:nth-child(n) (1)匹配E元素的父元素中第n个子元素,(2)且该位置的子元素类型必须是E类型 ...
- 关于Linux x64 Oracle JDK7u60 64-bit HotSpot VM 线程栈默认大小问题的整理
JVM线程的栈默认大小,oracle官网有简单描述: In Java SE 6, the default on Sparc is 512k in the 32-bit VM, and 1024k in ...





















