深入理解计算机学习笔记(二)

        第一部分 程序结构和执行
        第二章 信息的表示和处理
        本章研究在计算机上如何表示数字和其他形式数据的基本属性,以及计算机对这些数据的执行操作的属性。这就要求我们深入研究数学语言,编写公式和方程式,以及展示重要属性的推导。
        2.1 信息存储
大多数计算机使用8位的块,或者字节,作为最小的可寻址的内存单位,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组,称为虚拟内存。内存的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合就称为虚拟地址空间。
        1)十六进制表示法
        2)字数据大小
        32位字长限制虚拟地址空间大小为4GB,扩展到64位使得虚拟空间为16EB。
        3)寻址和字节顺序
        大端模式,小端模式,强制转换大小端,使用printf格式化输出,指针和数组,指针的创建和间接引用
        4)表示字符串
        用“\0”表示字符串结尾
        5)表示代码
深入理解计算机学习笔记(二)
        不同的机器类型使用不同的且不兼容的指令和编码方式,即使是完全一样的进程,运行在不同的操作系统上也会有不同的编码规则,因此二进制代码是不兼容的。二进制代码很少在不同机器和操作系统组合之间移植。
        6)布尔代数简介
        7)C语音中的位级运算
        8)C语音的逻辑运算
        9)C语音中的移位运算
        2.2 整数表示
        1)整型数据类型

深入理解计算机学习笔记(二)

深入理解计算机学习笔记(二)

深入理解计算机学习笔记(二)
        2)无符号数的编码
        3)补码编码
        补码编码的唯一性,补码的范围是不对称的,反码,原码
        4)有符号数和无符号数之间的转换
        5)C语言中的有符号数和无符号数
        通常,大多数数字都默认是有符号的。
        6)扩展一个数的位表示
        零扩展,较小数据类型变成较大数据类型
        7)截断数字
        2.3 整数运算
        1)无符号加法
        算术运算溢出,是指完整的整数结果不能放到数据类型的字长限制中去。
        2)补码加法
深入理解计算机学习笔记(二)
        3)补码的非
        4)无符号乘法
        5)补码乘法
        6)乘以常数  移位运算
        7)除以2的幂
        2.4 浮点数
        1)二进制小数
深入理解计算机学习笔记(二)
        2)IEEE浮点表示
深入理解计算机学习笔记(二)
        3)舍入
        4)浮点运算
        浮点加法不具有结合性
        5)C语言中的浮点数
        float和double