1.1 Data representation
关键术语(Key terms)
为了培养使用英文进行表达的能力,并能将思路转化为英文术语,我们对以下术语进行了本地化翻译:
注:加粗部分是比较违反直觉的翻译。
Term | Description |
---|---|
Binary | Base two number system based on the values 0 and 1 only. 二进制:仅用 0 和 1 表示的满二进一数制系统。 |
Bit | Abbreviation for binary digit. 位:binary digit的缩写称为bit。(digit意为零到九中的任一数字) |
One's complement | Each binary digit in a number is reversed to allow both negative and positive numbers to be represented. 反码:一种表示正数或负数的方法。原理是翻转二进制数的每一位。 |
Two's complement | Each binary digit is reversed and 1 is added in right-most position to produce another method of representing positive and negative numbers. 补码:一种表示正数或负数的方法。原理是翻转二进制数的每一位,然后在最低位加上一。 |
Sign and magnitude | Binary number system where left-most bit is used to represent the sign (0 = + and 1 = -); the remaning bits represent the binary value. 符号与大小:最高位表示符号,剩余位表示该二进制数的大小。 |
Hexadecimal | A number system based on the value 16 (uses the denary 1 to 9 and the letters A to F). 十六进制:用 0 到 9 和 A 到 F 表示的满十六进一的数制系统。 |
Memory dump | Contents of a computer memory output to screen or printer. 内存转储:将计算机内存中的内容显示到屏幕上或打印出来。 |
Binary-coded decimal (BCD) | Number system that uses 4bits to represent each denary digit. BCD 码:用四位二进制数表示每个十进制数字的数字系统。 |
ASCII code | Coding system for all the characters on a keyboard and control codes. ASCII 码:用于键盘上每个字符和控制代码的编码系统。 |
Character set | A list of characters that have been defined by computer hardware and software. It is necessary to have a method of coding, so that the computer can understand human characters. 字符集:由计算机硬件和软件定义的一系列字符。需要有一种编码方法,以便计算机能够理解人类的字符。 |
Unicode | Coding system which represents all the languages of the world (first 128 characters are the same as ASCII code). 万国码:用于表示世界上所有语言的字符的编码系统。(前 128 个字符与 ASCII 码相同,是 ASCII 码的超集) |
1.1.1 Number system(数制系统)
要点:
- 理解生活中常用的十进制,并扩展到数制系统;
- 简单介绍下二进制、八进制和十六进制。
1.1.2 Binary number system(二进制)
令人秃头的小提问:为何计算机通常使用二进制而不是三进制?虽然 3 比 2 更接近 e,理论上更有效率。[1]
点击此处查看答案
- 硬件复杂度:三进制系统需要设计和制造能够准确区分和处理三种不同状态的硬件,这比仅需处理两种状态的二进制硬件复杂得多。
- 噪声敏感性:在实际电子设备中,噪声和信号干扰是不可避免的。三进制系统需要区分更多的电压电平,这增加了对噪声的敏感性,降低了系统的可靠性。
- 技术成熟度:二进制系统经过了数十年的发展和优化,相关技术非常成熟,而三进制系统的研究和应用相对较少,缺乏成熟的技术和标准。
- 现有生态系统:现代计算机和数字系统的整个生态系统(包括硬件、软件、通信协议等)都是基于二进制的。切换到三进制系统需要重大的改变,成本高昂且风险大。
要点:
- 牢记二进制前八位的权重;
- 熟练计算二进制转十进制和十进制转二进制(权重法或模运算法);
- 熟练计算二进制的加法和减法(先引入反码和补码,然后区分符号位和大小);
- 理解
kilobyte
和kibibyte
的区别。
1.1.3 Hexadecimal number system(十六进制)
实用的小提问,计算机使用十六进制的目的是?比起二进制有什么优点?
点击此处查看答案
- 简化表示:二进制数很长且难以阅读和书写。十六进制将每四个二进制位(bit)合并成一个十六进制位(digit),使得数值更短、更易于阅读。例如,二进制数 1111 1111 可以简化为十六进制的 FF。
- 易于转换:二进制和十六进制之间的转换非常简单,因为每个十六进制位代表精确的四个二进制位。例如,十六进制 A 等于二进制的 1010。
- 节省空间:在计算机科学和电子工程中,十六进制表示法可以节省书写和显示的空间,同时减少出错的概率。例如,内存地址、机器码和颜色代码等通常用十六进制表示。
- 调试和开发:在软件开发和硬件调试过程中,十六进制表示法便于开发者和工程师读取和理解底层数据。很多调试工具和内存查看工具都使用十六进制显示数据。
- 标准化:许多计算机科学领域的标准和协议(例如,Unicode字符编码、HTML/CSS颜色代码)都使用十六进制。
要点:
- 熟练计算二进制转十六进制和十六进制转二进制(瞪眼法);
- 了解十六进制的用处,如内存转储。
1.1.4 Binary-coded decimal system(BCD 码)
要点:
- 理解 BCD 码转十进制和十进制转 BCD 码的方法(瞪眼法);
- 了解 BCD 码的用处;
- 了解 BCD 码的加法,也就是处理溢出的方式。
1.1.5 ASCII codes and Unicodes(ASCII 码和万国码)
知识拓展:ASCII全称”American Standard Code for Information Interchange”(美国信息交换标准代码),早在1963年被发布,提供了一种标准化的方法来表示文本字符,直至今日仍是最通用的信息交换标准。你还知道计算机的相关历史吗?为什么大多数计算机相关的发明和标准与美国有关?
点击此处查看答案
计算机技术的发展与美国的历史、经济、教育和文化有着密切的联系。美国在二战后的科技投入、政府资助、经济实力、教育资源和创新环境等多个方面为计算机科学的发展提供了肥沃的土壤。这些因素共同促成了美国在计算机技术领域的领先地位和全球影响力。
- 第二次世界大战及其后续影响:二战期间,美国政府资助了大量的科学研究,以满足战争需求。这包括计算机技术的发展,例如用于破译密码的早期计算机Colossus(虽然这是在英国),以及ENIAC(电子数字积分计算机),它是世界上第一台通用电子计算机,由宾夕法尼亚大学在1945年研制成功。战后,这些技术和研究人员转移到了民用和学术领域,继续推动计算机技术的发展。
- 政府与军方资助:美国国防高级研究计划局(DARPA)在1958年成立,资助了大量的研究项目,包括ARPANET,它是互联网的前身。美国国家航空航天局(NASA)也在推动计算机技术的进步,特别是在航天领域的应用。
- 经济与教育优势:战后美国成为世界上经济最强大的国家,这为科学研究和技术开发提供了坚实的经济基础。同时,美国拥有世界上最多的顶尖大学和研究机构,如麻省理工学院(MIT)、斯坦福大学和加州大学伯克利分校,这些机构培养了大量的计算机科学家和工程师。
- 产业发展与创新:硅谷位于加利福尼亚的硅谷成为全球科技创新的中心。许多早期的计算机公司如惠普(HP)、英特尔和苹果公司都在这里成立和发展。硅谷的风险投资环境促进了大量初创公司的成立和发展,推动了技术创新和商业化。
- 国际影响与标准化:美国在国际标准制定方面拥有重要话语权。ASCII码的制定就是一个例子,它成为全球广泛接受的标准。美国公司如IBM、微软和苹果等在全球范围内推广其技术和产品,使美国的技术标准成为全球标准。
- 关键人物与创新:很多计算机科学的先驱人物,如约翰·冯·诺伊曼(John von Neumann)、阿兰·图灵(Alan Turing,尽管他是英国人,但他的工作对美国也有很大影响)、克劳德·香农(Claude Shannon)和格雷斯·霍珀(Grace Hopper)等,都对计算机技术的发展做出了重要贡献。美国的创新文化和创业精神激励了许多技术突破和商业成功。
要点:
- 了解 ASCII 码的作用。(记住字符’0’,’A’’,’a’的对应位置48,65,97)
- 了解为何 Unicode 等编码逐渐成为主流。
课后作业(Homework)
第一章节End of chapter questions的第1, 4, 5, 6题
* 课外自主探索(Exploration)
注:星号标注的主题表示仅供娱乐!
- 思考二进制在你生活中出现的地方;
- 苏联的三进制计算机和模拟计算机;
- 用如Notepad++打开你电脑中的.exe后缀文件,大概想象这一大堆十六进制表示了什么;
- “锟斤拷烫烫烫”形成的原因。
[1] 白云龙 的回答 - 为什么计算机不用e进制,按道理说e进制难道不是最高效的吗?
作者:张业浩 创建时间:2024-07-03 03:38
最后编辑:张业浩 更新时间:2025-01-14 19:17
最后编辑:张业浩 更新时间:2025-01-14 19:17