美文网首页
CSAPP translation page 1

CSAPP translation page 1

作者: 木子9268 | 来源:发表于2019-07-07 12:56 被阅读0次

1.1信息就是位(bits)+上下文(context)

我们的hello 程序生命开始就是一个源程序(或者称为一个源文件),创造它的程序员编辑并且把它保存为一个称为hello.c文本文件.这个源程序是一个里面的内容是0和1的位序列(sequence),8个位(bytes)被组织成一组(chunck),每一个字节代表程序里面的一些文本字符(text character).

(扩展:

一个位由0或1组成,8个位为一个字节Byte,每个字节表示程序中的某些文本字符,两个字节称为一个字Word-双字节,四个字节称为双字Dword-四字节

单字节和双字节:单字节只占1个英文字符;双字节是占两个英文字符,中文字符都占两个字节,4字节是指占四个英文字符,中文占两个字节也就是两个英文字符.

字节的换算:

1B/byte(字节)=8 bit(比特)

1KB(千字节)=1024B/byte(字节)

1GB=1024MB

1TB=1024GB

1PB=1024TB

1EB=1024PB

比特和位:

比特(bit)和位实际上是同一个东西,计算机智能处理二进制数据流,二进制的0和1就代表一个位.计算机中的32/64位置计算机的cpu一次能处理的最大位数.8字节等于64位,也就是说cpu可以一次处理8个字节的数据.

参考资料:百度百科-字节

)

大多数的现代(计算机)系统使用ASCII标准(American Standard Code for Information Interchange,ASCII,美国信息交换标准代码),它是用单字节的大小整数值(unique byte-sized integer value)表示每个字符.

hello.c程序是一个字节序列(sequence of bytes)的存储文件,每一个字节里面有一个整数(integer),一个整数对应(corresponds)着一个字符.例如,第一个字节里面有一个整数35,对应的字符是’#’,第二个字节的整数内容是105,对应的字符就是’i’,以此类推(and so on),注意,每一个文本行以看不见的(invisible)换行符(newline character)’/n’结束(terminated),它对应的整数内容是10.

像hello.c这样只(exclusively专门)由ASCII字符构成的文件称为(know as)文本文件.其他所有文件都称为二进制(ninary)文件。

hello.c的表示(representation)说明(illustrates)了一个基本概念(fundamental idea):所有的系统信息-包含磁盘文件,内存(stored in memory)中的程序,内存中的用户数据和通过互联网传输的数据-表示为(represented)一串(as a bunch)字节(bits). 区分(distinguishes )这些不同数据对象的唯一办法就是观察他们的内容.例如,不同的内容,相同的字节序列(sequence of bytes)可能(might)代表一个整数、浮点数、字符串或者机器指令(machine instruction).

作为一个编程者,我们需要明白,机器数字的表示形式(machinerepresentation of number),因为它们和整数和实数(real numbers)不同.整数和实数是一种表示不精确的表现(behave)是一个有限的(finite)近似值(approximation ).这个基本概念在第2章中进行探讨(explored).

图1.2 hello.cASCII文本表示:

相关文章

  • CSAPP translation page 1

    1.1信息就是位(bits)+上下文(context) 我们的hello 程序生命开始就是一个源程序(或者称为一个...

  • CSAPP translation summary page 1

    实现进程这个抽象的概念需要低级硬件和操作系统软件之间的紧密合作. Implementing the process...

  • CSAPP translation page 6

    总线 在整个系统中运行的是称为总线(buses)的电导管(electrical conduits)集合,它们在组件...

  • CSAPP translation page 3

    这里,GCC编译器驱动程序读取hello.c源文件然后翻译成一个可执行的目标文件hello. 翻译执行的4个阶段在...

  • CSAPP translation page 4

    旁注: GNU项目 GCC是CNU项目开发出来的许多实用工具之一.GNU项目是理查德·马修·斯托曼(Richard...

  • CSAPP translation page 7

    第6章详细的讲关于输入/输出设备像磁盘的工作. 在第10章, 你将要学习怎样使用Unix的输入/输出接口从应用程序...

  • CSAPP translation page 10

    这本书当中的一个重要结论(lessons)之一就是,意识到高速缓存存储器的应用程序员能够利用(exploit)它们...

  • CSAPP translation page 8

    •加载:从主存复制一个字节或一个字到寄存器(register)里, 覆盖寄存器以前的内容. •储存:从寄存器复制一...

  • CSAPP translation page 9

    1.5高速缓存非常重要 这个简单的例子有重要的经验,系统花费大量的时间把信息从一个地方传送到另外一个地方. hel...

  • CSAPP translation page 2

    旁注: C编程语言的起源 C语言在1969年到1973年由贝尔实验室由丹尼斯•里奇(Dennis Ritchie)...

网友评论

      本文标题:CSAPP translation page 1

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