文档章节

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

白志华
 白志华
发布于 2015/10/18 10:56
字数 679
阅读 1
收藏 0

    现在很多程序员,只是会用计算机编程,但是许多基础的知识却很薄弱。今天就跟大家说说码制的问题。计算机对数据做的读取、传输、运算、显示等操作,都离不开码制。常见的编码方式有:原码、反码、补码、移码、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/article/details/7413464

共有 人打赏支持
白志华
粉丝 31
博文 265
码字总数 57524
作品 0
长沙
程序员
私信 提问
计算机网络基本概述

计算机网络基本概述一、 计算机网络硬件软件:实现资源共享、信息传递 二、 计算机网络的功能数据通信、资源共享、增加数据可靠性、提高系统处理能力 三、网络协议与标准1、协议:一组控制数...

王浩hh
01/01
0
0
【计算机组成原理】第一章 计算机系统概论

版权声明:本人学习所用,转载请标明出处,图片侵删 https://blog.csdn.net/qq_39582960/article/details/84862519 1.1 计算机系统简介 1.1.1 计算机的软硬件概念 计算机组成概览: 1.1.2 计...

轩i丶
12/06
0
0
2013年首批新书发布

编者按:看看2013年的最新展示图吧!这里有计算机体系结构的经典教材,还有青少年们的科普读物;有程序员们的专业面试书,还有茶余饭后的超级马里奥;有适合初、中级学习的web前端书,还有国...

kext
2013/01/09
12
0
计算机基础知识+学习方向

目前所使用的计算机均遵循冯·诺依曼体系结构。其理论要点是:数字计算的是数制采用二进制;计算机按照程序顺序执行,必须使用二进制进行数据的存储和处理,规则简称为“软硬件结合,逻辑结合...

从运维开始
2017/01/06
0
0
OSI七层模型基础知识及各层常见应用

OSI七层模型基础知识及各层常见应用 OSI Open Source Initiative(简称OSI,有译作开放源代码促进会、开放原始码组织)是一个旨在推动开源软件发展的非盈利组织。OSI参考模型(OSI/RM)的全称...

水中月120
2013/11/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaScript执行环境及作用域(三)——没有块级作用域

JavaScript中没有块级作用域经常会导致理解上的困惑,在其他类C的语言中,由花括号封闭的代码都有自己的作用域,因而支持根据条件来定义变量。但是在JavaScript中下面的代码并不会得到想象中...

Bob2100
5分钟前
0
0
Kafka流式处理

Kafka Streams 初识流式处理 什么是数据流 数据流(也叫事件流)是无边界数据集的抽象表示。无边界意味着无限和持续增长。无边界数据集之所以是无限的,是因为随着时间的推移,新记录会不断加...

东都大狼狗
10分钟前
0
0
Mysql主从复制(拓展博客文章扩充知识面)

#不停库不锁表在线主从配置 使用 Xtrabackup 在线对MySQL做主从复制 1.数据量大的话还是建议使用工具例如xtrabackup,mysqldump比较适合操作10G以下的数据备份复制。 2.做业务之前考虑清楚具...

robertt15
14分钟前
0
0
docker快速搭建几个常用的第三方服务

本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch; 如果想学习Java工程化、...

编程SHA
47分钟前
5
0
我的Linux系统九阴真经

在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行业,共享经济等概念的公...

linuxprobe16
55分钟前
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部