1,什么是计算机中的数据?
所有计算机能够接收的信息都可以叫做数据,所有能够看到并听到的事实都可以用数据来形容,
2,计算机内部都是以二进制的形式存在,一个二进制只能表示0或1
3,位 bit 简称 b,计算机中最小的单位,
4,字节,byte 简称 B 1B= 8b ASCLL码占用一个字节,汉字两个字节
5,字长,字(word)是二进制计算机处理器一次存取加工和传送的数据长度,不考虑其他因素字长越长性能越好。32位计算机一次处理字长为32位,
6,字节和字长区别,字节是计算机存储单位,字长通常用来形容计算机硬件和处理器的
7,转换关系, 1Byte = 8bit 1KB = 1024B 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB
8,软盘 存储移动介质,已经淘汰,替代品硬盘,U盘
9,为什么采用二进制?
10,a 电路简单,只有0和1,表示电路通断,电平的强弱
b 工作可靠,只有01不容易出错
c 简化运算,相加减速度快,求积规则三个,求和三 个,
d 逻辑性强,正好代表真与假,逻辑代数是逻辑运算的理论依据
11,二进制数学运算规则, 加法,0 + 0, 0+1 = 1+0, 1+1, · 只有三种规则
减法,0-1 1-0 0-0 1-1 ,四种规则
乘法, 0 * 0,0 * 1 = 1 * 0, 1 * 1 ,三种
除法, 0/0 0/1 1/0 1/1 0作为除数无意义两种
规则, 加法逢2 进1,减法借1 作2,
乘法,由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。
1001和1010相乘的过程如下:
除法,与十进制的除法相似,从最高位开始,除不尽往后移一位,重复此过程,到最末位除不尽是余数。
乘除法分原码乘除法和补码乘除法
位权的确认,
什么是位权,位权就是该位数上有数字实际代表的大小,十进制数188,百位位权是100
十位位权是10 ,个位位权是1,故100+80+8 = 188,其他进制可以这样转换成十进制数的大小
1,十进制数,1000第二位的位权是10,第三位的位权是100,以此类推
2,二进制数,1000第二位数的位权是2,第三位的位权是4,一次类推
3,对于N进制数的整数部分最高位位权确认,N( i - 1 )次方,i 为该数是几位数,
第一位整数部分的位权确认N( i - i )次方,任何非0实数,的0次方都为1
小数部分的位权是,N ( - j )次方,j为从左往右第几位,
负次方怎么计算,按照正次方计算然后取反
eg
- 二进制:每一位的位权是 2的n次方,其中 n 是从右到左的位数(从0开始计数)。例如,二进制数101(十进制中的5)中,最右边的1的位权是 2的0次方,中间的0的位权是 2的1次方,最左边的1的位权是 2的2次方
- 八进制:每一位的位权是 8的n次方。
- 十六进制:每一位的位权是 16的n次方
1,进制间的相互转换,2,8,16,进制转换为10进制,按权展开,依次相加,
10进制数基数为10,0-9十个数码,逢10进一,
2进制基数为2,0,1两个数码,逢2进一,依次类推
16进制0-9 ABCDEF十六个数码,基数16
4C4D按权展开,4 * 16的3次方 + 12 * 16的2次方 + 4 * 16 的1次方 + 12*16的0次方
2,十进制转换为2进制整数部分
eg 126转换为2进制,每次的商除以2,取余数,知道商为0为止,然后倒序排列
126除以2 等于 63 余0
63 除以2 等于31余1
31除以2 等于15余1
15除以2 等于7余1
7除以2等于3余1
3除以2等于1余1
1除以2等于0 余1
故而,十进制126转换为二进制为,1111110
小数部分
eg 将 十进制 0.19 转换为2进制,每次乘以2,取整数部分,直到小数为0为止,如果小数一直不为0,直到精确到想要的位数为止
0.19乘以2等于0.38 取整数 0
0.38乘以2等于0。76取整数 0
0.76乘以2等于1.52取整数 1
0.52乘以2等于1.04取整数 1
0.04乘以2等于0.08 取整数 0
0.08乘以2等于0.16 取整数 0
0.16乘以2等于0.32 取整数 0
0.32乘以2等于0.64取整数 0
0.64乘以2等于1.28 取整数 1
故而,十进制0.19转换为2进制数为 0.001100001
八进制转二进制,
eg
将八进制7051转化为二进制
原则,一位拆三位,把其中一位看成十进制实际大小,再用十进制转换为2进制,不够三位时候再其前面加补0
1 = 001, 5 =101 ,0=000,7=111,
故而 转为2进制为111000101001
将16进制转换成2进制
原则,一位拆四位,不够其前面添0,其余同上
将十六进制80Af13改为二进制:
3=0011, 1= 0001, f= 1111, a = 1010, 0 = 0000, 8= 1000
故而转化为2进制 为, 100000001010111100010011
2进制转换为8进制原则三位并一位,不够前面添0
将1000011111001转换为8进制
001=1, 111=7 , 011=3, 000=0,001=1
故而转换后为 10371
2进制转为8进制同理,一位并三位
8进制转为16进制可以用相除法,除以16取余,然后倒序同十进制转换2进制同理
方法2通过中间法,将八进制转为2进制再2进制转换为16进制
其他转换同理
小数部分的转换, 同理
1,,原码,反码 和补码
再计算机内部,数值位和符号位都用0和1表示,符号位0表示正,1表示负,且都是以2进制数表示
eg
设一个数为X ,X的原码记为【X】原,
故而,当X = +1100时,则[X] 原= 01100 当X=-1100时,则【X】原=11100
在原码中0有两个表现形式
x=+00 时,【x】原=000
x=-00时 , 【x】原=100,
反码的表示,
一个数x的表示,当一个数为正数时候,这个数的原码和反码相同,如果为负数,则各位去反,符号位不变
当x = +1001时,【x】原=【x】反=01001
当x =-1001时, 【x】原=11001 【x】反=10110
反码中0也有两种表示方法,
当x = +00时 【x】反=000
当x =-00是 【x】反=111
补码的表示,
当一个数x为正数时候,补码和原码相同,若x为负数时候,符号位与原码相同,其数值位取反加1
三种码的实际运用
原码、反码和补码是计算机中用于表示带符号整数的三种编码方式,它们在计算机运算中发挥着重要作用。以下是它们的主要用途和特点:
1. 原码
- 用途:原码是最直观的表示方法,直接表示数值的大小和符号。最高位为符号位(0表示正数,1表示负数),其余位表示数值的大小。12
- 特点:
- 优点:简单直观,易于理解。1
- 缺点:减法运算复杂,存在正零和负零两种表示,可能导致混淆。
2. 反码
- 用途:反码用于简化计算机中的减法运算。对于正数,反码与原码相同;对于负数,反码是将原码的数值位取反。
- 特点:
- 优点:简化了减法运算,负数的反码可以通过加法直接得到。
- 缺点:仍然存在正零和负零两种表示,减法需要额外处理。
3. 补码
- 用途:补码是现代计算机中最常用的整数编码方式。对于正数,补码与原码相同;对于负数,补码是反码的最低位加1。
- 特点:
- 优点:统一了正数和负数的表示方式,支持高效的加减法运算,且零只有一种表示方式。
- 应用:在计算机中,补码表示是最常见和有效的带符号整数表示方式,广泛应用于整数运算、硬件电路设计、编程语言中的整数类型以及嵌入式系统开发。3
4. 总结
- 原码:简单直观,但运算复杂,主要用于直观表示数值。
- 反码:作为过渡,帮助简化减法运算,但仍存在一些问题。
- 补码:简化运算,统一加减法,提升处理速度,是计算机中最常用的表示方式。12
通过这三种编码方式,计算机能够高效地处理带符号整数的运算,确保计算的准确性和效率。
计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同 [1]。在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理 [2]。
在《微型计算机原理与接口技术》 [3]中补码的数学定义如图所示。
中文名补码外文名two's complement
作 用存储数值
表盘上时针指向10点钟,而正确的时间是5点钟,要把时针拨回到5点钟有两种方法:第一种方法是将时针往回拨5个小时指向5点钟,第二种方法是将时针往前拨7个小时指向5点钟。用数学式表示出来,第一种方法为10-5=5;第二种方法为10+7=12+5=5 [7],由于表盘上最大的数是12,当时间超过12点以后,12自动丢失,只保留减去12以后的余数5。从效果上来看,与是等价的,都使时针指向了5点,12称为模,“模”是指一个计数系统的进位基数。7是-5对模12的补数,也称为补码。该实例说明了对模12而言,减法运算可以通过加法运算来实现。这意味着,模确定以后,在舍弃进位的条件下,减去一个数可以通过加上该数的补码来实现,也意味着在电路中,减法运算可以通过加法电路来实现,从而简化了电路设计。 [4]
对于计算机,其概念和方法完全一样。n位计算机,设所能表示的最大数是11111111,若再加1成为100000000(9位),但因只有8位,最高位1自然丢失,又回到了00000000(8位),所以8位二进制系统的模为
.在这样的系统中减法问题也可以化成加法问题。只需把减数用相应的补数表示就可以了。把补数用到计算机对数的处理上,就是补码。 [5]
什么是ASCII码 ,
是美国信息交换代码,是一种编码标准用于不同计算机硬件和软件数据传输的标准
由七位或八位二进制数表示,七位二进制数1111111最大十进制为127 (0-127)
7位二进制数来表示128个字符,包括大写和小写英文字母、数字0到9、标点符号以及一些控制字符
8位二进制数11111111最大十进制为255 (0-255) 作为七位的补充
在编程中的应用,
可以用来判断是什么字符,通过ASCII码判断和ASCII码的二进制数来判断
Unicode码 万国码,统一码,单一码
是一种计算机上使用的字符编码,英文用一个字节就可以表示,但是中文要两个字节表示,
一个字节等于8位,故而第一个字节就大于127所以可以用是否大于127判断是中文还是英文,
1位指的是一位数的二进制数,2位指的是有两位数的二进制数8位只的8位数的二进制数