《汇编程序设计与计算机体系结构:软件工程师教程》 —1.4 数据的表示

华章计算机 发表于 2019/12/03 21:34:01 2019/12/03
【摘要】 本节书摘来自华章计算机《汇编程序设计与计算机体系结构:软件工程师教程》一书中第1章,第1.4.1节,作者是布莱恩·R. 霍尔(Brian R. Hall)[美] 凯文·J.斯隆卡(Kevin J. Slonka),爱飞翔 译。

1.4 数据的表示

1.4.1 计数系统

多数计算机在物理层面都是以二进制的方式来运作的。例如,存储单元(memory cell)的状态只有两种,要么已充电,要么未充电;磁盘中的某个位置的状态也只有两种,要么已磁化,要么未磁化;CPU 中的晶体管同样如此,要么允许电流通过,要么禁止电流通过。由此可见,数据在底层可以用二进制来表示,这种表示方式只使用1与0两种数位。但是,该形式对于人类来说却比较麻烦,而且理解起来也很慢。因此,我们还会用其他一些计数系统(或者说数制)来简记二进制数。

      学习指南:实际上,在执行机器语言所写的代码时,计算机只能采用二进制来运作。那么,为什么必须用二进制呢?

答案是:用二进制来表示数据并在双稳环境下运行程序,是比较可靠的。

具有下列物理特性的硬件元件,能够以二进制的方式运作:

元件有两种稳定的能量状态(energy state,能态),可以分别用 0 与 1 来表示,例如,全开/全关、完全充电/完全放电、带正电/带负电、已磁化/未磁化、反光/不反光。

两种状态可以为能量壁垒(energy barrier,能垒)所区隔(也就是说,不会同时处于两种状态)。

可以感知元件的状态。

可以在两种状态之间切换。

假如计算机以十进制或十六进制来计数,那么要保存数值就比较复杂了,因为硬件必须要能够表示 10 种或 16 种不同的状态才行。反之,如果用二进制来保存,那么只需要把相应的物理性质与两种状态对应起来就可以了,对于大多数计算机来说,这些物理性质指的就是元件的电气性质。

 

要想读懂并撰写底层程序代码,必须熟悉各种计数系统与计数格式。最常见的几种格式是:二进制、八进制、十进制、十六进制。每种进制都有一个底,它决定了每个位置上可以使用多少种符号来计数。表1-3详细列出了这四种常用的数制,其中,十进制与十六进制是汇编代码中最常见到的形式。

表1-3 常用的数制

image.png


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。