Index:
1.1计算机系统及内存编址
1.2数和字符的编码表示
1.3算法及其表示
详细:
1.1计算机系统及内存编址
计算机系统由计算机硬件系统和软件系统组成。只有硬件部分的计算机称为裸机。裸机需要在操作系统的支持下才能工作。计算机软件系统一般由系统软件、应用软件和共享程序组成。
1.2数和字符的编码表示
计算机能够识别的只能是二进制数
1.2.1进位计数制度
根据进位基数的不同,常用的有十进制、二进制、八进制、十六进制等。
a)二进制数及其运算
二进制数是由0和1组成的数字串,对于一个人进制数来讲,它具有以下两个特点:
1.只有0和1两个不同的数字符号;
2.逢二进一
因此二进制(10110111)2数的值为:
(10110111)2=1×27+0×26+1×25+1×24+0×23+1×22+1×21+1×20=(183)10
而带小数的二进制数(1011.1101)2
(1011.1101)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2+1×2-3+1×2-4=(11.8125)10
二进制数的运算
加法规则: 0+0=0
0+1=1+0=1
1+1=0(向高位进一)
1+1+1=1(向高位进一)
减法规则类似。
b)八进制数及其运算
八进制数只有0-7这八个数字,八进制数具有以下基本特点:
1.0-7
2.逢八进一
C语言中通过加入前导零的方式来表示一个数是八进制数,例如0136
其余算法和二进制类似
c)十六进制及其运算
十六进制具有以下基本特点:
1.只有1,2,3,4,5,6,7,8,9,A,B,C,E,F十六个数字符号(英文字符可以使用小写)
2.逢十六进一
C语言通过加入前导0X或者0x来表示一个数是十六进制,很多情况下,后加H也表示十六进制数字
d)进位制数之间的转换
1.十进制整数转换为二进制整数
采用除K取余倒着读
2.二进制整数转换为十进制整数
采用按权展开的方法
3.二进制整数转换为八进制整数
3位二进制数的不同取值可以一一描述0-7,所以二进制整数转换为八进制
采用3位分组法
4.八进制整数转换为二进制整数
将每一位八进制数字转换为相应的二进制书籍即可。
5.二进制整数转换为十六进制
4位二进制数的不停取值可以一一描述0-F,所以二进制整数转换为十六进制
采用4位分组法
6.十六进制整数转换为二进制整数
方法和八进制整数转换为二进制整数相类似。
1.3数的机器码表示
a)机器数与真值
在计算机中,将一个数的最高位定义为符号位,其余各位为数值位,并且规定符号位之值为0表示正,为1表示负。用这种方法表示的数称为机器数。机器数的数值称为该机器数的真值,也就是正、负号后跟二进制数的绝对值就构成真值。
b)原码
对于一个二进制数X,如果规定最高位为符号为,其余各位为该数的绝对值,并且规定符号位之值为0表示正,符号为之值为1表示负,采用这种形式的二进制编码称为该二进制数X的原码。
c)补码
补码的定义是正数的补码等于正数的原码,负数的补码为其原码除符号为不动,其余各位变反再加1所得。
d)反码
反码。对于正数而言,其原码,补码和反码一致;对于负数来说,反码符号位的定义和原码,补码相同,但需要将对应原码的数值为按位变反。
注:补充字符的编码表示
1.3算法及其表示
网友评论