第一章 计算机基础知识
本章主要讲二进制、十进制、十六进制及其之间互相转换。
对于n位二进制数,则其表示范围为
基本概念:
而一个负数通常有三种表示方式,即:
将二进制数最高位当成符号位,正数为 0
、负数为 1
,其余位数为数值的表示形式即为符号数的原码表示,例如:
则对于上述的 -127
为例,其机器数为 1111 1111
,真值为
对于正数,其反码与原码相同;而对于负数,其二进制表示是其对应正数的反码表示,例如:
补码是当前计算机使用的符号数表示方法。其核心思想是找一个"无符号正数",使得其加减运算性质和这个"有符号负数"一致。具体规定如下:
如上文所说,使用补码原则可保持符号数的加减运算直接按照二进制进行运算,具体举例如下:
OF=1
,为下一章内容),-64-68
,其结果为:1100 0000
+ 1011 1100
= 0111 1100
= 124
BCD码就是用四位二进制表示一位十进制,且浪费6个字符空间,如下图所示:
即对于任意n位十进制数,均需要4n位二进制表示,例如压缩BCD码:
而BCD码可以分为压缩BCD码和非压缩BCD码两种:
就注意需要对非法BCD码进行进位即可,例如
字符编码即经典ASCII编码。需要注意的有:
' '
将字符括起来可以表示该字符的二进制值,例如:'A' = 41H
'5C' = 3543H // 注意扩两个字符则是2Byte,且C语言支持扩多个字符
1
的数量为奇数个。1
的数量为偶数个。数的定点数和浮点数都是小数的两种表示方法。
定点数表示法即小数点在数中的位置是固定的,其所固定的位置需要提前约定。可以根据约定的位置不同分为:
浮点数的"浮点"是指小数点的位置是漂浮不定的,其核心是采用科学计数法来表示数字。
其基本原则如下图所示:
TODO