1.数制
数制是用一组固定的数字和一套统一的规则来表示数目的方法。按照进位方式计数的数制叫进位计数制。
常见的数制主要有:二进制(Binary),八进制(Octal),十进制(Decimal),十六进制(Hexadecimal)。
每种数制都由两个要素组成,基数和位权。
基数:各种进位计数制中允许选用基本数码的个数。二进制的基数为2,八进制的基数为8,十进制的基数为10,十六进制的基数为16……以此类推X进制的基数为X。
位权:每个数码所表示的数值等于该数码乘以以恶与该数码所在位置相关的常数,这个常数叫做位权。位权的大小是以基数为底,数码所在位置的序号为指数的整数次幂。
那么什么事数码所在位置的序号呢?
首先定义一个实数:ABCDEFG.abcdefg 不难看出小数点左边为整数部分,右边为小数部分。那就以小数点位基点,整数部分依次向左序号由零开始递增,小数部分依次向右序号由-1开始递减,小数点没有序号。即:A,B,C,D,E,F,G的序号依次为6,5,4,3,2,1,0;a,b,c,d,e,f,g的序号依次为-1,-2,-3,-4,-5,-6,-7.换成表格更直观一点:
位 | A | B | C | D | E | F | G | . | a | b | c | d | e | f | g |
序号 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | -1 | -2 | -3 | -4 | -5 | -6 | -7 |
序号确定了,那么位权的大小也就确定了。
假设 X 进制中,实数 num 中,整数部分第 i 位的位权大小为 X^i ,小数部分第 j 位的大小是 X^(-j) 。
例如:二进制数1234.5678 , 则有:
位 | 1 | 2 | 3 | 4 | . | 5 | 6 | 7 | 8 |
序号 | 3 | 2 | 1 | 0 | -1 | -2 | -3 | -4 | |
位权大小 | 2^3 | 2^2 | 2^1 | 2^0 | 2(-1) | 2^(-2) | 2^(-3) | 2^(-4) |
先看看四种数值的对比:
进制 | 二进制 | 八进制 | 十进制 | 十六进制 |
基数 | 2 | 8 | 10 | 16 |
状态 | 0~1 | 0~7 | 0~9 | 0~9,A~G |
进位 | 逢二进一 | 逢八进一 | 逢十进一 | 逢十六进一 |
公式 |
再来看看四种进制前16位的数:
十进制 | 二进制 | 八进制 | 十六进制 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
66 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 2011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
16 | 10000 | 20 | G |
2.计算机中的存储单位
众所周知,计算机采用二进制进行信息的交流,所以计算机只能识别0或1,也就是我们说说的位了,由位再组成字节,字节再组成字。
位:bit或b,是计算机存储数据的最小数据单位。
字节:byte或B,是数据处理的基本信息单位,即以字节为单位存储和解释信息。一个字节由8个 位组成,即 1B = 8b 。
字:word,计算机处理数据时,CPU通过数据总线一次存取,加工和传达的数据长度称为字。一个字通常由1个字节或若干个字节组成;而这一个字节或若干个字节所包含的位就是子长了。
注意:字在某种程度上讲可以理解为字符。由于编码的不同中英文一个字的字长是不同的。可以参考百度百科字节的解释.
数据存储是以10进制表示,数据传输是以2进制表示的。常用的度量单位有KB,MB,GB,TB:
千字节: 1KB = 2^10 = 1024 B
兆字节,百万字节,简称“兆”: 1MB = (2^10) * (2^10) = 1024KB = 1048 576 B
吉字节,十亿字节,又称“千兆” 或 “吉”: 1GB = (2^10) * (2^10) * (2^10) = 1024MB = 1073 741 824 B
万亿字节,太字节: 1TB = (2^10) * (2^10) * (2^10) * (2^10) = 1024GB = 1099 511 627 776 B