• 深入理解计算机系统 第二章 信息的表示和处理 part1


    欣哥划的重点:

    第二章比较难,建议至少掌握下面几个知识点: 1. 字节顺序 : 大端和小端 2. 运行 图2-24, 图2-25程序 show-bytes.c 观察结果,看看有什么问题 3. 理解布尔运算,位运算 4. 理解无符号数和有符号数, 给一个数,能计算出补码 5. 理解浮点数的表示法,给一个十进制小数,能转换成二进制的浮点数表示

    由于第二章知识点很多,上班又比较忙,所以按欣哥划的重点来阅读。

    本周看了 3 个点:

    1、字节顺序:大端和小端

    2、理解布尔运算,位运算

    3、理解无符号数和有符号数,给一个数,能计算出补码

    下面按点写笔记:

    1、字节顺序:大端和小端

    前提:

      对于跨越多字节地址的对象,在几乎所有的机器上,都会被存储为连续的字节序列,对象的地址为所使用的字节中最小的地址

    先说大端和小端的定义

      小端法:最低有效字节在最前面的方式

      大端法:最高有效字节在最前面的方式

    举例说明:

      对于数 0xA1FE,它在计算机中会被存储为连续的两个字节,当 A1 被存储在前时,即为大端表示法;当 FE 被存储在前时,即为小端表示法

      在这个例子中,A1 为最高有效字节,FE 为最低有效字节

    注:

      现在我们假设有一个 w 位的二进制数,只要 w 大于 8,它就总能被表示为多个字节(即,从右到左,8 位结合为 1 字节,最后不够 8 位的部分,在左边用 0 补齐)

    总结:

    结合前提和定义,我们可以说,地址为最高有效字节的多字节对象使用的是大端法,反过来,地址为最低有效字节的多字节对象使用的是小端法

    2、布尔运算,位运算

    主要要记住 4 个运算符的意义,对相应的规则整理如下

    3、理解无符号数和有符号数,给一个数,能计算出补码

    无符号数:所有的位都表示数值

    有符号数:第一位是符号位(0 为正,1 为负),其余都表示数值

     

    补码计算实例:

    负数 6 的原码为 1000 0110

    其反码为 1111 1001

    其补码为 1111 1010

     

    补充一下原码、反码和补码的概念:

    原码

      就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值

    反码:

      正数的反码是其本身

      负数的反码是在其原码的基础上, 符号位不变,其余各个位取反

    补码:

      正数的补码就是其本身 

      负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

     

     

    希望在下周的阅读中,能解决以下问题: 

    原码、反码、补码是只针对有符号数吗?无符号数有没有这三种编码方式?

     

     

     

     

     

  • 相关阅读:
    启动ASM 数据库的步骤
    ora15031 DBCA找不到ASM磁盘组
    ORA12514 解决方法
    Rhel Linux 5.1 (32 位)上安装 Oracle ASM数据库 11g 第 1 版
    Oracle ASM for linx as 4 x8664 创建过程
    在安腾AI64 RHEL3 U3服务器上安装ORACLE10G
    ora12528 : message 12528 not found; product=RDBMS ; facility=ora
    linux下启动oracle服务和监听程序
    linux内核升级RPM包安装问题!!!!
    AS4 下安装Oracle 10g(ASM & RAW)
  • 原文地址:https://www.cnblogs.com/stone94/p/9824395.html
Copyright © 2020-2023  润新知