zoukankan      html  css  js  c++  java
  • 《程序是怎样跑起来的》第二章

           计算机中的数据都是用二进制数表示的。IC形状的不同决定了计算机的信息数据只能用二进制来处理。计算机处理信息的最小单位——位,就相当于二进制中的一位。位的英文bit。二进制数的位数一般是8的倍数,计算机处理信息的基本单位是8位二进制数,常被称为一个字节。字节是最基本的信息计量单位,内存和磁盘都使用字节单位来存储和读写数据。位是最小单位,字节是基本单位。 用字节单位处理数据时,如果数字小于存储数据的字节数(=二进制数的位数),那么高位上就用0填补。在程序中,即使是用十进制数和文字等记述信息,在编译后也会转换成二进制数的值。

           移位运算是将二进制数值的各数位进行左右移位(shift)的运算,分为左移(向高位方向)和右移(向低位方向),一次运算可进行多个数位的移动操作。移位运算也可以通过数位移动来代替乘法运算和除法运算。

           计算机处理的“补数”就是用正数来表示负数。要获得补数需要将二进制数的数值全部取反,然后再将结果加1。注意:当运算结果为负数时,计算结果的值也是以补数的形式来表示的。

           当二进制数的值表示图形模式而非数值时,移位后需要在最高位补0,这就称为逻辑右移。将二进制数作为带符号的数值进行运算时,移位后要在最高位填充移位前符号位的值(0或1),这就是算术右移。只有在右移的时候才必须区分逻辑位移和算数右移,左移时,无论是图形模式(逻辑左移)还是相乘运算(算数左移),都只需在空出来的低位补0即可。符号扩充就是指在保持值不变的前提下将其转换成16位和32位的二进制数。

           将二进制数表示的信息作为四则运算的数值来处理就是算术,像图形模式将数值处理为单纯的0和1的罗列就是逻辑。计算机能处理的运算可分为算术运算和逻辑运算。算术运算指加减乘除四则运算。逻辑运算指对二进制数各数字位的0和!分别进行处理的运算,包括逻辑非(NOT运算)、逻辑与(AND运算)、逻辑或(OR运算)和逻辑或(XOR运算)四种。

  • 相关阅读:
    GGEditor
    Vue 项目(HTML5 History 模式) 部署服务器
    mysql连接状态
    mysql连接状态
    HBase配置性能调优
    HBase配置性能调优
    spark streaming检查点使用
    spark streaming检查点使用
    spark streaming的有状态例子
    spark streaming的有状态例子
  • 原文地址:https://www.cnblogs.com/1999dbl/p/10467440.html
Copyright © 2011-2022 走看看