计算机系统基础知识

简介: 🍊进制的转换1.十进制转换至非十进制1.十进制转换为二进制2.十进制转换为八进制 3.十进制转十六进制2.非十进制转换为十进制1.二进制转十进制2.八进制转十进制3.十六进制转十进制3.非十进制转换为非十进制1.二进制转换成八、十六进制2.八、十六进制转换成二进制🍇原码、反码、补码1)原码表示法2)反码表示法 3)补码表示法 4)移码表示法 注意点🍓定点数、浮点数 🍈逻辑运算 🍑常用字符编码BCD码ASCII码 校验码1.奇偶校验码2.海明码3.循环冗余校验码

🍊进制的转换


四种进位计数制


①十进制:具有十个不同的数码,基数为10,各位的位权为10i。进位规则是“逢十进一”。


②二进制:具有两个不同的数码0、1,基数为2,各位的位权为2i。进位规则是:“逢二进一” ③八进制:具有八个不同的数码,基数为8,各位的位权是8i。进位规则是“逢八进一”。


④十六进制:具有16个不同的数码,基数为16。各位的位权是16i。进位规则是“逢十六进一”。




1.十进制转换至非十进制


1.十进制转换为二进制


整数部分


将十进制数除以2,得到商和余,然后将商继续除以2,得余,以此类推,直到商小于2,然后将每一步的余数倒序的拼接起来,就得到了正确的二进制。设有十进制数:249,计算过程如下:


小数部分


将十进制数乘以2,然后将整数部分取出来当结果,小数部分继续乘以2,以此类推,直到达到精度或小数变为0时停止,然后将每一步的整数正序拼接就得到了二进制小数。设有十进制数:0.390625,计算过程如下:



2.十进制转换为八进制


整数部分


计算过程与二进制类似,只不过是基数不同。以250为例。



所以十进制250 转二进制为372


小数部分


设有十进制数:0.53125,计算过程如下



故十进制0.53125 的八进制为0.42


3.十进制转十六进制


与上面2个一样的步骤,就不举例子了


2.非十进制转换为十进制


对于整数部分,非十进制数的位数设为n,那么整数的最小位(最右边)的权值为0,最高位(最左边)的权值为n-1。


对于小数部分,非十进制小数的位数设为n,那么小数最高位(最左边)的权值为-1,最低位(最右边)的权值为-n。


对应的,对于混合的数字分别结算后拼接在一起即可。


1.二进制转十进制


拿二进制数10010110举例


(计算方法是从右向左依次乘上2的n次幂,n从零开始,^符号表示次幂)


1*2^7+0*2^6+0*2^5+1*2^4+0*2^3+1*2^2+1*2^1+0*2^0=150


2.八进制转十进制


拿八进制数226举例(由右向左依次乘以8的n次幂,n从零开始)


2*8^2+2*8^1+6*8^0=150


3.十六进制转十进制


与上面2个一样的步骤,就不举例子了


3.非十进制转换为非十进制


1.二进制转换成八、十六进制


二进制转换成八:整数从右向左三位并一位     小数从左向右三位并一位


二进制转换成十六进制:整数从右向左四位并一位,小数从左向右四位并一位




2.八、十六进制转换成二进制



🍇原码、反码、补码


1)原码表示法


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


比如如果是8位二进制:


[+1]原 = 0000 0001


[-1]原 = 1000 0001


第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:


[1111 1111 , 0111 1111]==>[-127 , 127]


2)反码表示法


反码的表示方法是: 正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.


[+1] = [00000001]原 = [00000001]反


[-1] = [10000001]原 = [11111110]反


3)补码表示法


补码的表示方法是:正数的补码就是其本身


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


[-1] = [10000001]原 = [11111110]反 = [11111111]补


正数:原码 = 反码 = 补码


4)移码表示法


补码的数值部分不变,符号取反,即得移码


已知x=-1100101 ,求[x]补和[x]移。


x=-1100101        


[x]补=10011011


[x]移=00011011


注意点


补码对于数字0,在补码表示中,0有唯一的编码


即[+0]补=0000 0000 , [-0]补=0000 0000。换句话说,数值0采用补码形式表示,机器位数全为0


8位字长的表示补码(1000 0000)最小整数-128

🍓定点数、浮点数


在计算机中,小数点以及位置都是隐含的;


有两种隐含方式:定点和浮点


定点数:小数点的位置是固定不变的    


定点小数:小数点隐含固定在最高数据位的左边,整数位则用于表示符号位,用于表示纯小数    


定点整数:小数点隐含固定在最低数据位之后,最高位还是为符号位,用于表示纯整数

浮点数:小数点的位置由阶码规定的,因此是浮动的。  


在计算机中通常把浮点数N分成阶码和尾数两部分组成。  


N=尾数*基数^阶码(尾数是一个规格化的纯小数)


(11100.101)2=(0.11100101)*2^101


IEEE754标准 格式规范    


阶符 阶码  尾符  尾数


🍈逻辑运算


①与运算:与运算符用“∧”或“·”表示。与运算的运算规则是:仅当两个参加运算的逻辑值都为“1”时,与的结果才为“1”,否则为“0”。


运算规则如下: 0·0 = 0,0·1 = 1·0 = 0,1·1 = 1


②或运算:或运算符用“∨”或“+“表示。运算规则是:仅当两个参加运算的逻辑值都为“0”时,或的结果才为“0”,否则为“1”。 运算规则如下:


0 + 0 = 0,0 + 1 = 1 + 0 = 1,1 + 1 = 1


③非运算:非运算符用“~”或在逻辑值的上方加一横线“ ”表示。 运算规则是:对逻辑值取反。


运算规则是:~0 = 1,~1 = 0


④异或运算:常用的逻辑运算还有“异或”运算,又称为半加运算,其运算符号常用XOR或⊕表示。设A和B为两个逻辑变量,当且仅当A、B的值不同时,A“异或”B为真。A“异或”B的运算可由前三种基本运算表示。


运算规则如下: 0 ⊕ 0 = 0,0 ⊕ 1 = 1 ⊕  0 = 1,1 ⊕ 1 = 0 (同为0,异为1)



🍑常用字符编码


BCD码


是指每位十进制数用4位二进制数编码表示。选用0000~1001来表示0~9这10个数字。这种编码方法比较直观、简单,对于多位数,只需将它的每一位数字按表1-4中所列的对应关系用BCD码直接列出即可。




ASCII码  


又称“美国标准信息交换代码”  用7位二进制数表示一个字符;实际存储时,每个字符用一个字节存储,最高位设置为0


最多可以表示128个字符,编码为0~127,包括10个数字符号、52个大小写英文字母、32个标点符号和运算符以及34个控制符。


典型ASCII码值:A为65,a为97,0为48


校验码


1.奇偶校验码


一种通过增加冗余位使得码字中"1"的个数恒为奇数或偶数的编码方法,它是一种检错码。


奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数。    


数被校验的信息中“1”的个数,如果“1”的个数是奇数个,在信息位最前面(默认)或者最后面(根据题目要求)添加“0”;如果“1”的个数是偶数个,在信息位最前面(默认)或者最后面(根据题目要求)添加“1”;    


偶校验:整个校验码(有效信息位和校验位)中“1”的个数为偶数  


数被校验的信息中“1”的个数,如果“1”的个数是偶数个,在信息位最前面(默认)或者最后面(根据题目要求)添加“0”;如果“1”的个数是奇数个,在信息位最前面(默认)或者最后面(根据题目要求)添加“1”;


只能检错,不能纠错


2.海明码


海明码,小名汉明码(Hamming Code),以发明者理查德·卫斯里·汉明的名字命名。海明码具有检错和纠错双功能,它基于奇偶校验原理,只能检查出某一位错码的位置。当有多位错码时,它就不适用了。


可以检错,也能纠错


3.循环冗余校验码


循环冗余校验码简称CRC码,是目前使用非常广泛的数据校验方式.它不仅能校验传递过来的数据正确性,还能筛查出哪一位出现了错误.它的局限性是只能校验一位数据发生跳变,在现实世界当中数据发生跳变很大很大的概率只有一位发生变化,因此CRC码也拥有很大的发挥舞台.


只能检错,不能纠错


相关文章
|
5月前
|
存储 C语言
深入理解计算机系统第七章知识点总结(上)
深入理解计算机系统第七章知识点总结
65 0
|
5月前
|
JavaScript
计算机底层基础知识
计算机底层基础知识
58 0
|
4月前
|
存储
第 1 章 计算机系统概论
第 1 章 计算机系统概论
|
5月前
|
程序员 vr&ar
1.1 计算机硬件基础知识
1.1 计算机硬件基础知识
|
5月前
|
算法 编译器 Linux
深入理解计算机系统第七章知识点总结(下)
深入理解计算机系统第七章知识点总结(下)
72 0
|
5月前
|
存储 缓存 网络虚拟化
深入理解计算机系统第九章知识点总结
深入理解计算机系统第九章知识点总结
88 0
|
数据处理
计算机的基础知识1
计算机的基础知识1
45 0
|
机器学习/深度学习 数据处理 vr&ar
【软考:软件设计师】1 计算机组成与体系结构(一)计算机系统基础知识
【软考:软件设计师】1 计算机组成与体系结构(一)计算机系统基础知识
269 0
|
存储 Java Unix
程序员必知必会之计算机系统概论
程序员必知必会之计算机系统概论
92 0
|
算法 编译器 数据格式
计算机组成原理/计算机硬件基础 第四章
计算机组成原理/计算机硬件基础 第四章
206 0
计算机组成原理/计算机硬件基础 第四章