计算机体系结构(二)——码制

原创 2012年03月30日 23:05:18

    现在很多程序员,只是会用计算机编程,但是许多基础的知识却很薄弱。今天就跟大家说说码制的问题。计算机对数据做的读取、传输、运算、显示等操作,都离不开码制。常见的编码方式有:原码、反码、补码、移码、BCD码。我们一一说道。

    【原码】
    表示:最高位为符号位(0表正,1表负),其余各位为数的绝对值。
    举例: [+11] =00001011  。 [-11] = 10001011 。
    范围:-127~+127
    优点:乘除法操作比较简单
    缺点:0有2种表示方法, [+0] =00000000, [-0] =10000000 。加减法运算可能会出现溢出错误。
    错误再现:(1)10 (1)10 =  (0)10 ,用原码表示的: (00000001)+ (10000001)(10000010)=  (-2)10
    错误原因:原码的符号位不能直接参与运算,否则可能会出现错误。
    为了解决原码的加减法缺陷,引入了一个新的编码——反码。
    【反码】
    表示:由原码转换而来,正数跟原码一致;负数,符号位不变,其余各位按位取反。
    举例: [+11] = [+11] =00001011 。 [-11] = 11110100 。
    范围:-127~+127
    优点:符号位可以直接参与运算。减法可以变为加法运算。
    缺点:0有2种表示方法,  [+0]  =00000000,  [-0] =11111111 
    错误再现:(1)10 (1)10 =  (0)10 ,使用反码的结果是: (00000001)+ (11111110)(11111111)=  (-0)10
 
    解决了加减法缺陷,还需要解决0编码的问题,遂又引入了一个新的编码——补码。
 
    【补码】
    表示:由反码转换而来,正数跟原码一致;负数,反码+1。
    举例: [+11] = [+11] =00001011 。 [-11] = 11110101 。
    范围:-128~+127
    优点:符号位可以直接参与运算。减法可以变为加法运算。0有唯一编码,  [+0] =[-0] =00000000 。
    现在 (1)10 (1)10 =  (0)10 ,用补码表示的: (00000001)+ (11111111)(00000000)=  (0)10,结果正确。
    溢出判断:两个正数相加,如果符号位变为1,则溢出。两个负数相加,符号位变为了0,则溢出。正数+负数则不会溢出。
    【移码】
    表示:跟补码数值位一样,但符号位取反。
    举例: [+11] = 10001011 。 [-11] = 01110101 。
    范围:-128~+127
    【8421BCD码】
    表示:十进制数每位都用4位2进制数表示 。
    举例: 43 => 0100 0011 。
    优点:容易读数,二进制和十进制的转换快捷,适用于会计系统。
    溢出修正:结果>=9,则+6,进1 。如3+5:0011 + 0101 = 1000 正确。6+7:0110 + 0111 = 1101,结果需修正,1101+0110 = 10011 =(13)10 
 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。如需转载请声明:【转自 http://blog.csdn.net/xiaoxian8023 】

数制和码制概述

我们知道,数字电路需要处理的是各种数字信号,那么这种数字信号有什么特点呢?   留心观察一下自然界中形形色色的物理量时不难发现,就其变化规律的特点而言,它们不外乎两大类。其中一类物理量的变化在时间上和...
  • chunxiaoyuye
  • chunxiaoyuye
  • 2016年03月11日 23:02
  • 577

几种常见的码制说明

  三 九 码 三九码是Intermec公司于1975年推出的一种条码,它可表示数字、英文字母以及“-”、“.”、“/”、“+”、“%”、“$”、“ ”(空格)和“*”共44个符号,其中“*”仅作为启...
  • hamsky
  • hamsky
  • 2008年09月07日 21:02
  • 1184

编码与码制

数字系统的主要功能是处理信息。因此必须将信息表示成电路能够识别,便于运算存储的形式。信息主要有两类:数值信息和非数值信息。数值:可以用来算数运算的数据。如张三的学习成绩考了多少分。非数值:不能用来算数...
  • kevinhg
  • kevinhg
  • 2014年02月16日 22:56
  • 2523

计算机中的码制与数制的介绍

前面,我们给大家讲了部分单片机入门,今天我们继续为大家讲解单片机的基础知识。 数字电路具有两种不同的稳定状态且能相互转换,用“0”和“1”表示比较方便。因此,计算机处理的一切信息包括数据,指令,字符...
  • WIZnet2012
  • WIZnet2012
  • 2012年02月06日 08:59
  • 2295

实例分析Erlang二进制(Binary)匹配的内部机制

Erlang的二进制操作很简单很强大,《Erlang二进制创建的内部机制和优化》一文介绍了binary的创建,现在就来探索它的逆过程,匹配操作。 下面是一个简单实例,它的功能是binary_to...
  • u011471961
  • u011471961
  • 2013年07月28日 13:44
  • 1299

XMLWriter编码问题

我们来看写文件时用到的XMLWriter,他提供以下几种构造方法:XMLWriter()  XMLWriter(OutputFormat format)  XMLWriter(OutputStream...
  • fyqcdbdx
  • fyqcdbdx
  • 2011年07月06日 19:38
  • 538

如何进行各种码制数据之间转换

2006年11月28日 14:52:00 1 系统内部转换命令(一般建议不直接使用) SYSTEM-CALL CONVERT ID id DATA data ENCODING enco...
  • softart
  • softart
  • 2007年12月14日 11:16
  • 227

计算机体系结构Computer Architecture

计算机体系结构ComputerArchitecture 计算机硬件 简介 计算机硬件是一套拥有计算机功能的物理设备,这些物理组件典型的被分为三种:输入,输出,存储。这些组件都能够连接到微处理器,即CP...
  • scherrer
  • scherrer
  • 2015年04月18日 21:58
  • 1993

计算机体系结构(二)

接上节内容继续0x00 存储系统首先要记得是存储层次:如果仔细的分可以按下面的分法 第一层:寄存器堆 第二层:先行缓冲站 第三层:高速缓冲存储器 第四层:主存储器 第五层:联机存储器 第六层:脱机存...
  • csu_vc
  • csu_vc
  • 2017年09月22日 13:41
  • 160

Linux进制查看工具:od、hexdump、xxd

od命令用于将指定文件内容以八进制、十进制、十六进制、浮点格式或ASCII编码字符方式显示,通常使用od命令查看特殊格式的文件内容,或者用于显示或查看文件中不能直接显示在终端的字符。 od命令系统默认...
  • freeking101
  • freeking101
  • 2017年10月09日 15:04
  • 225
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:计算机体系结构(二)——码制
举报原因:
原因补充:

(最多只允许输入30个字)