关闭

计算机硬件基础(上)

198人阅读 评论(0) 收藏 举报
分类:
计算机硬件基础
1-各种进制
    R进制,通常说逢R进1,可以用0,1,2....R-1
      二进制:
   八进制:
   十六进制:
2-数值计算
     对于任意一个R进制数,它的每一位数值等于该位的数码乘以该位的权数。
  权数由Rk表示,k与该位和小数点之间的距离有关。该位位位于小数点左边,k值是该位和小数点之间数码的
  个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码个数加1
 
  十进制:1234.56
  1234.56=1*10^3+2*10^2+3*10^1+4*10^0+5*10^-1+6*10^-2
3-数制转换
     十进制转化为R进制利用“除以R取余数法”。例如:
            余数
  2|94      0
  2|47      1
  2|23      1
  2|11      1
  2|5       1
  2|2       0
  2|1       1
  余数从下往上排列即可,即得1011110
 
  十进制小数利用乘2取整数转换为二进制小数
  十进制小数0.43转换成二进制小数的过程如下(假设要求小数点后取5位)
  0.43
  0.43×2=0.86   0
  0.86×2=1.72   1
  0.72×2=1.44   1
  0.44×2=0.88   0
  0.88×2=1.76   1
    0.76
 
 从上往下可得转换后的二进制小数0.01101B
 2^4  二进制在转换为十六进制时,可从小数点开始,往前每四位转换成对应的十六进制即可,往后每四位转换成十六进制即可,不
  够四位的补0即可。
  比如 10 1011.1111 1B=0010 1011 . 1111 1000
                      =2B.F8
 2^3  同理,二进制在转换成八进制时,可从小数点开始,往前每三位转换成对应的十六进制即可,往后
 每三位转换成十六进制数即可,不够S三位补0即可。比如:
 1 011 . 111 11 B =13.76O
二进制编码
     原码:
      定点整数原码的定义如下(n表示数值位位数,不包括符号位):
   [X]原= X    0<=X<2^n
      2^n-X-2^n   -2^n<X<=0
          例如:X=+0110,则[X]原=00110   X=-0110,则[X]原=10110
      定点小数原码的定义:
   [X]原=X    0<=X<1
   [X]原=1-X  -1<X<=0
   例如:X=+0.1011,则[X]原=01011
         X=-0.1011,则[X]原=11011
   在原码中,数值0对应两种形式:[+0]=0 0000000  [-0]=1 0000000
     移码:
      设由1位符号位和n位数值位组成的阶码,则[X]移=2^n+X (-2^n<=X<=2^n)
   例如:
        X=+1011 [X]移=11011 符号位“1”表示正号
              X=-1011 [X]移=00101 符号位“0”表示符号
         注意:移码只用于表示浮点数的阶码,所以只用于整数。
         [X]移与[X]补的关系是符号位相反:
   例如:
        X=+1011 [X]移=11011 [X]补=01011
     X=-1011 [X]移=00101 [X]补=10101
 浮点数编码:
      给定同样长度的编码位数,浮点数的表示范围比定点数大得多。
   若一位二进制N用科学计数法表示为:N=2^E×F,其中E称为阶码,F为尾数。
   利用这种方法表示的数为浮点数,其编码格式如下:
   阶符 阶码E 数符 尾数F
        移码        补码
  123D=0 10111 0 1111011000
  
  IEEE754工业标准
  (-1)^s * 2^E (b0 b1 b2  bp-1 ) 其中(-1)^s为数符,s=0时表示正数,s=1 时
        表示负数,E为阶码,用移码表示;(b0 b1 b2 bp-1)为尾数,长度为p,用原码表示。
         在该标准的单精度浮点数中,总编码长度为32位,p为23位,符号占一位,阶码占8位。
         在该标准中,约定小数点左边隐含一位1,因此单精度的有效位为24位,即尾数为1.
        例如:将176.0625表示为符合IEEE754标准的单精度浮点数。
        首先将176.0625化为二进制:176.0625D=10110000.0001B  
  规格化处理:10110000.0001=1.01100000001*2^7
  去掉b0,并扩展成23位尾数:01100000001000000000000
  求阶码的移码:[7]移=10000110
  于是得到其标准形式为:0 10000110 0110000000 10000000000000
  
BCD码
     数值,文字,英文字母和汉字都被认为是字符,将其转换成对应的二进制表示称为字符编码。
     用四位二进制代码来表示一位十进制数,称为二 ---十进制编码,简称BCD码。根据代码的每一位
  是否有权值可分为有权码和无权码两类,应用最多的是8421码,无权码用的最得较多的是余三码和格雷码。这些编码根十进制数
  对应的关系如下:
  十进制      8421BCD码       余3BCD码   格雷码
    0          0000            0011      0000
    1          0001            0100      0001
    2          0010            0101      0011
    3          0011            0110      0010
    4          0100            0111      0110
    5          0101            1000      1110
    6          0110            1001      1010
    7          0111            1010      1000
    8          1000            1011      1100
    9          1001            1100      0100
 
  BCD码加法修正:
  当两8421BCD码相加之和大于1001且向高位有进位时,必须进行加6修正:
  如:9+9表示BCD码为:1001+1001=0001 0010,0001 0010所表示的十进制数为:12,
  而9+9的结果应是:18,所以要进行加6修正,也就是:
  0001 0010
  +    0110
  0001 1000
  使用余三码进行计算时,从最高位产生的进位是真正的进位,对每4位的结果,如果小于等于9的
  则减3,如果大于9,则加3.如:9+8,余三码表示为:1100+1011=0001 0111 由于0001·0111都小于9
  所以都加3,进行调整得:0100 1010 又如:2+3,余三码表示为0101+0110=1011 由于1011大于9所以减去3,进行
  调整得:1000.
  ASCII码
  采用7位二进制编码(其实是8位,最高一位固定为0):低四位用做行编码,高三位用做列编码,比如,
  “a” 对应的ASCII码为110 0001 ,在ASCII表中的第0001行和第110的交叉处便可查到字母“a”。
   低4位       高三位
              000    ...   110   111
  0000        NUL                 p
  0001        SOH           a     q
  ...         ...    ...   ...   ...
  1111        SI     ...    o    DEL
 汉字编码
 区位码:区位码将GB2321-80方案中的字符按其位置划分为94个区,每个区94个字符,区的编号是从1~94,区号
 字符编码也是从1~94,区号和区内编码各占一个字节。比如“常”字在第19区中排第3,各化成十六进制为13H,03,因此
 其区位码为1303H。
 国标码:国标码又称为汉字交换码,就是国家标准局规定的GB2312-80信息交换用汉字编码集,在计算机之间
 交换信息用。用两个字节来表示,每个字节的最高位均为0,因此可以表示的汉字数214=16384个。将汉字区
 位码的高位字节,低位字节各加十进制32(即20H),便得到国标码。例如“常”字的国标码为3323H。
 机内码:汉字机内码是计算机内部存储,处理,传输汉字用的代码,又称汉字机内码,汉字内码。无论使用何种输入码
 ,进入计算机后立即被转换为机内码。规则是将国标码的高位字节,低位字节各自加上128D或80H。这样做的目的
 是使汉字内码区别于西方的ASCII,因此每个西方字母的ASCII的高位均为0,而汉字内码的每个字节的高位均为1.
 “大”的国标码为3473H,其机内码就是B4F3H。
 UCS
 为了统一表示世界各国的文字,使用4字节的二进制位来表示字符,从低到高每个字符分别指定该字符所位于的
 组,平面,行和字位。例如,“大”字在UCS中的编码为00005927H,它就处于00H组,00H平面,59H行,第27H字位上。
 
 UCS中的00H组00H平面称为基本多文种平面,包含西文字母,音节字母及表意文字,其分为四个区:
 A区:0000H~4DFFH 西文
 I区:4E00H~9FFFH 中 韩 日
 O区:A000H~DFFFH 留未来标准化
 R区:E000H~FFFDH 专用字符,兼容字符。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:11215次
    • 积分:561
    • 等级:
    • 排名:千里之外
    • 原创:45篇
    • 转载:8篇
    • 译文:0篇
    • 评论:6条
    最新评论