文档状态:编辑中....
编码让少量的数据存储大量的信息.
暂无评论
这个问题已经从最开始学习计算机组成原理的时候开始思考了,很多东西也是想完就忘记,总结的奇门技巧总是会在某些阶段失去其主导的可用性价值,这也是我写博客的原因,最近又在看APUE,看到`one’s-complement arithmetic`和`two’s-complement arithmetic`,又思考到了反码与补码运算,数论这种东西,你如果不投入时间去思考总是会在其中陷入怪异的误区,于是这篇博客的目的以提供方法论为主,提供哲学概念的解析方式为辅,帮助解决计算机中的编码问题.
目前存在的很多理论,尤其是工科立足的理论大都是以应用场景为驱动的,很多时候我们考虑明显在工程上出现的优化,解决经济与效率上的矛盾问题等等,提出了一系列的解决方案,这些最佳实践形成了工科理论的基础,所以学习工科理论最好的办法是尽量了解理论的起源,了解其在何种应用场景下诞生的,即了解问题的背景历史,从宏观上看待问题,这样能够帮助我们更好的理解与使用理论.
[声明:]
部分知识信息来自于互联网,没必要锻炼打字.
1.机器数和真值
自从负数出现以后,我们在日常表示数学符号时,总是添加一些附加信息,即+和-,通过符号的标明以此作为一个flag去到真正的运算中采用相应的运算方式,计算机中存储的数据也应如此,虽然我们尽量压缩空间提高存储空间的利用率,但是我们最基本应该保证信息的完整性,在处理计算机问题的时候,我们涉及到了两个基本的客观对象即human和computer,其次我们应该让个体独立出来,国内存在所谓的名与相按照形式逻辑大约就是符号与语义吧.首先我们应该创造一个新的适用于computer操作运算数据的规则定义,其次为了与人类进行交互
1. 机器数 一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。那么,这里的 00000011 和 10000011 就是机器数。 2. 真值 因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –000 0001 = –1.