# DoubanSpider **Repository Path**: xingfengwxx/DoubanSpider ## Basic Information - **Project Name**: DoubanSpider - **Description**: DoubanSpider - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-06-08 - **Last Updated**: 2021-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 第二章 信息的表示和处理 ##### 字数据大小 ![](https://gitee.com/xingfengwxx/blogImage/raw/master/img/1612446589(1).jpg) - 32 位字长限制虚拟地址空间为 4 千兆字节(写作 4GB), 也就是说,刚刚超过 4X109字节。扩展到 64 位字长使得虚拟地址空间为 16EB,大约是 1.84X1013字节。 - 数据类型 **long** —般在 32 位程序中为 4 字节,在 64 位程序中则为 8 字节。 ##### 寻址和字节顺序 ![](https://gitee.com/xingfengwxx/blogImage/raw/master/img/1612447238(1).png) - 小端法(little endian):**最低**有效字节在最前面的方式 - 大端法(big endian):**最高**有效字节在最前面的方式 - **Android**(来自 Google)和 **IOS**(来自 Apple)却只能运行于小端模式 ##### 表示字符串 - **C** 语言中字符串被编码为一个以 null(其值为 0)字符结尾的字符数组。 - 在使用 **ASCII** 码作为字符码的任何系统上都将得到相同的结果,与字节顺序和字大小规则无关。因而,文本数据比二进制数据具有更强的平台独立性。 ##### **C** 语言中的位级运算 | 就是 **OR**(或),& 就是 **AND**(与), 〜就是 **NOT**(取反), 而-就是 **EXCLUSIVE-OR**(异或)。 ##### **C** 语言中的逻辑运算 - **C** 语言还提供了一组逻辑运算符 **||** 、 **&&**和**!**,分别对应于命题逻辑中的 **OR**、**AND**和 **NOT** 运算。 - 逻辑运算认为所有非零的参数都表示TRUE,而参数 0 表示 FALSE。**非0即TRUE。** ##### **C** 语言中的移位运算 - 机器支持两种形式的右移:逻辑右移和算术右移。逻辑右移在左端补k个 0,算术右移是在左端补k个最高有效位的值。 - 几乎所有的编译器/机器组合都对有符号数使用算术右移,且许多程序员也都假设机器会使用这种右移。 - 在 C 表达式中搞错优先级是一种常见的程序错误原因,而且常常很难检查出来。所以当你拿不准的时候,请加上括号! ##### 整型数据类型 ![](https://gitee.com/xingfengwxx/blogImage/raw/master/img/20210205080305.png) ##### IEEE 浮点表示 ![](https://gitee.com/xingfengwxx/blogImage/raw/master/img/20210205232050.png) ##### 小结 - 计算机将信息编码为位(比特), 通常组织成字节序列。 - 64 位程序的优势是可以突破 32 位程序具有的 4GB 地址限制。