美文网首页
信息的表示和处理

信息的表示和处理

作者: 老杜振熙 | 来源:发表于2020-10-07 15:47 被阅读0次

在阅读《深入理解计算机系统》的过程之中,有一些知识点是我觉得有必要记录下来的,在这里进行一定的总结。


  1. 文本数据比二进制数据具有更好的平台独立性

    文本数据VS二进制数据.png
    一个简单的数字,比如说int num = 18;在内存中存储的形式会因为大端法小端法两种形式而有所不同。因此,如果采用二进制格式存储(直接将内存中的存储格式复制到磁盘上),那么就会因为不同的机器而产生不同。相反,文本数据会将数据进行编码后再存储,因此独立性更好。
  2. 理解异或
    ^如何和|联系起来呢?其实很简单,先将两个操作数中同为1的比特位都置为0,然后再对其进行|操作即可;利用这个思路,我们可以使用bis(位设置)和bic(位清除)两个函数来实现异或操作。

  3. 补码的二进制
    对于补码的二进制而言,最需要注意的就是:最高位为负权。这也就解释了为什么10000000代表了8位signed integer的最小值-128,而11111111代表的是-1。

  4. 算数右移和逻辑右移
    算数右移唯一的区别是:当对有符号类型的负数进行位右移时,高位补1;这样会带来一些更直观的结果,比如说对于8位signed integer而言,当其为-128,对应二进制为10000000时,如果是算数右移,将得到二级制形式11000000,翻译为十进制则是-64,恰好符合直观感受。但如果是逻辑右移,就会使负数变为正数。

  5. 无符号数
    无符号数有一些奇怪的特性。比如unsigned a = 1, b = 2;那么当a-b时结果不会是负数,相反,结果会变成一个很大的正数。原因则是无符号数不判断溢出,它直接进行取模,也就是说:a-b == (int)a-(int)b+pow(2, w),w为变量的位数。-(int)b+pow(2, w)也称为b的逆元。

  6. 小技巧
    -x == ~x+1
    x & (-x) // 只保留x最右侧的1,其他全部清为0;
    x & (x-1) // 清除x最右侧的1

相关文章

  • 信息的表示和处理

    比特及位级运算 现代计算机存储和处理信息以二进制信号表示,一个二进制数称为位。大多数的计算机使用8位,或者字节,作...

  • 信息的表示和处理

    主要研究三种数字表示1、无符号编码2、补码编码3、浮点数编码 一些基本概念 整数表示相对小的数值范围,但是一个精确...

  • 信息的表示和处理

    在阅读《深入理解计算机系统》的过程之中,有一些知识点是我觉得有必要记录下来的,在这里进行一定的总结。 文本数据比二...

  • 信息的表示和处理

    信息的存储 字数据大小 计算机中,字长指的是指针数据标称大小,虚拟地址以字来进行编码的,所以字长w位的机器,可以表...

  • 信息的表示和处理

    现代计算机存储和处理的信息以二值信号表示。这些微不足道的二进制数字,或者称为位 (bit), 形成了数字革命的基础...

  • 信息的表示和处理(1):信息存储

    无符号编码:基于传统的二进制表示法,表示大于或等于0的数字 补码:有符号整数的常见方式(可正可负) 浮点数:表示实...

  • 信息的表示和处理(2):整数表示

    精确定义如何编码和操作整数的数学术语: 1.1 整数数据类型 唯一一个与机器相关的类型是long,其他类型的取值范...

  • Charpter Two 信息的表示和处理

    2.1 信息存储2.1.4 表示字符串独立性(文本数据/二进制数据)文本数据比二进制数据具有更强的平台独立性原因:...

  • 1. 信息的表示和处理

    深入理解计算机系统,是从计算机的底层往上看,从下到上一层一层的分析。 在计算机中,使用二进制来表示最基本的单位,原...

  • 信息的处理与表示

    计算机以8位为一块(称作字节byte)作为最小的可寻址的内存单位。虚拟地址空间(virtual address s...

网友评论

      本文标题:信息的表示和处理

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