《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 ...
随机推荐
- nodejs(1)
node.js 是一个让javascript运行在服务端的开发平台 node.js的环境部署 1.下载安装包 https://nodejs.org/en/ 安装后 打开cmd的dos窗口 运行node ...
- win10使用技巧
无法使用内置的管理员账户打开应用的问题命令行里输入:secpol.msc安全设置-本地策略-安全选项点击找到“用户账户控制:用于内置管理员账户的管理员批准”选项.该选项设置为"已启用&quo ...
- Badboy使用数据源Excel进行脚本参数化
1.首先新建一个Excel,这里示例我写得非常简单,由两由数据组成,第一行为表头.见下图: 2.录制脚本,见上一篇,录制一个非常简单的搜狗查询 3.添加数据源,在Tools面板中找到Data Sour ...
- linux 学习6 软件包管理 资料链接
软件包管理 这一章看得比较随意 先大概记点东西. RPM安装很繁琐,因为依赖性,手动安装太麻烦. ______我觉得直接yum在线安装就好了,很直接方便. 但是要特别注意的地方 在用yum升级或者卸载 ...
- Peterson算法
#define FALSE 0 #define TRUE 1 #define N 2 /*进程数量 */ int turn; /* 现在轮到谁 */ int interested[N]; /*所有值初 ...
- chrome浏览器调用 ajax 提示net::ERR_INCOMPLETE_CHUNKED_ENCODING问题解决方案,以及 Response.Close 和 Response.End 的一些问题。
近段时间去了一家新公司任职,公司产品是一个网站,但是我发现它不兼容谷歌浏览器,用习惯了chrome的我简直是如鲠在喉.终于我抽出了时间,想纠正这个问题.F12一看,发现谷歌提示:net::ERR_IN ...
- (转载)SPRINGMVC表单标签简介
SpringMVC表单标签简介 在使用SpringMVC的时候我们可以使用Spring封装的一系列表单标签,这些标签都可以访问到ModelMap中的内容.下面将对这些标签一一介绍. 在正式介绍Spri ...
- 用R实现全排列的分类
R 其实是个很好用的东东哦-最近写了个小函数,可以实现全排列数的枚举,代码如下: permut<-function(seq){ seq_len=length(seq); if(s ...
- 使用Nginx镜像代理.NET Core MVC
1.获取microsoft/dotnet镜像 docker pull registry.cn-hangzhou.aliyuncs.com/cjx/tutorial 如果有问题确认已经使用阿里云镜像加速 ...
- jQuery:提交表单前判断表单是否被修改过
表单加载完成后执行 : //表单中包含input(text,checkbox,hidden),select,radio, $("#editWithdrawAutoApprovedConf ...





















