标签:科学家 可靠性 cpu 8进制 避免 存储 八进制 位运算 速度
0/1的故事
当代计算机是用0和1表示,2进制
0 + 0 = 0 , 0 + 1 = 1, 1 + 1 = 10, 逢二进一
权值数为2
当前使用最广的是10进制
0 1 2 3 4 5 6 7 8 9
逢十进一,权值为10
这10个符号组合,不同组合位置的权值是一样的,比如321.25, 以小数点分开,小数点左边的是10^0 10^1 10^0 ……,小数的左边 是10^-1 10^-2 ……,写成权值模式 3*10^3+2*10^2+1*10^0+2*10^-1+5*10^-2,这种权值方式也是各种进制转换成10进制的方法
除了二进制和10进制,生活中还有哪些进制?
八进制
16进制
60进制(分钟和秒)
进制不同,权重不同
如何把10进制转化成二进制?
整数部分: 除2取余法(余数法) 结束条件,商为0时候 取值是从下往上
小数部分: 两边乘以2取整 有一定的误差,取值从上往下
为何推荐使用0 1 作为计算机计算进制?
冯洛伊曼和歌德斯坦等人联名发表的长达101页的报告,计算机历史上著名的 一百零一页报告,奠定了计算机以二进制系统来运行计算的根基
人类长久以来,习惯用于10进制系统进行计算,但这些科学家强烈推荐使用二进制来建造电子计算机
为什么要推荐使用0 1 表示?
物理实现:
假如表示一个10的10次方这个数,用10进制表示,将会有11位数,每位数都有10个状态,总共状态为11*10,为110个状态,而用二进制表示为10^10=10^9*10^1 = 2^30*2^3 = 2^33, 也就是需要34位数表示状态,每位数都有2个状态,总共状态为 34*2 = 68种,远比110中状态几乎少了一半
无论计算机计算速度如何快,存储能力多么强,都无法脱离用多少位二进制数去描叙,一种信息或者一个数,通过位模式,每一位代表的权值不同
更多时候,我们通常使用8位的位模式来表示信息,通常我们把其叫做一个字节,一个字节指的是八个二进制位,区分的信息总数位2^8 = 256 种
计算机核心部分cpu由哪些组成?
ALU 、 CU
ALU: 算数逻辑单元 不但可以计算还可以进行逻辑运算
CU:
当你考虑使用计算机来完成工作的时候,需要考虑计算机的位模式带来计算的溢出问题,也就是说无论多么强大的计算机,位模式再大,存储能力再强都有其计算的上限和下限,都有其范围和精度的问题,所以在计算机上的计算都会有精度损失
由于计算器固有的精度损失,需要考虑避免这种错误影响
什么是八进制?
0 1 2 3 4 5 6 7
逢八进一
权值为 8
什么是十六进制?
0 1 2 3 4 5 6 7 8 9 A B C D E F
逢十六进一
优点: 简洁紧凑
如何把二进制数转换成八进制数、十六进制数?
二进制转换成八进制
3位变1位
以小数点为依据,向左向右, 3位为一组,不足补0,然后把每3位一组换算成对应8进制数填入进去
二进制转换为十六进制
4位变1位
以小数点为依据,向左向右, 4位为一组,不足补0,然后把每4位一组换算成对应16进制数填入进去
十六进制和八进制转换成二进制,和上面相反,不足位数一定要补0
无论是二进制、 八进制、 十六进制,权值的指数都是按位数来进行对应,从零开始
计算机如何完成减法的?
通过补数,把减法变成加法,保证不需要借位实现运算还保证了同样一套设备完成加法运算
信息先被表示(编码),然后才能处理,无论任何信息,在计算机中都是以二进制表示
数值信息如何表示?
真值、机器数
算术运算中的数值都带有符号以表示正负
计算机中用最高位表示数的正负, 0表示正,用1表示负
机器数: 将数的符号数值化的数据表现形式
原来带有 + - 号的数值表示真值
原码:
优点: 直观
缺点: 做加减运算时候复杂
补码:
同样最高位为符号位, 正数原码和补码是一样的,负数源码变补码,符号位不变,按位取反再加1。那如何补码转换成原码:还是一样,符号位不变,按位取反再加1
都是位数不足,补0
符号位运算:
[x + y]补 = x补 + y补
ascii码?
全称为美国信息交换标准代码
分为可打印字符和控制字符
西文字符:
128个字符
7位二进制编码, 8byte, 一个字节,最高位恒为 0
汉字编码:
2个字节,最高位为 1 ,汉字依据使用频率高低分为两级
GB2312,国标
Unicode码
世界上所有语言的符号组成通用字符集,16进制表示
优点:
不需要考虑平台的不同
不需要考虑程序的不同
不需要考虑语言的不同
标签:科学家 可靠性 cpu 8进制 避免 存储 八进制 位运算 速度
原文地址:http://www.cnblogs.com/2bjiujiu/p/7676895.html