zoukankan      html  css  js  c++  java
  • 数字电路与系统-数制与编码2

    1.原码没有特殊性,是计算机对符号数的一种编码方式。以计算机字长为限制条件,首位为符号位,剩余位为真值的绝对值。但是反码,补码完全是为了负数所构建的新的编码方式,减少计算机的电路设计。之所以以一种变扭的规则将正数也囊括在内,我估计完全是为了定义的全面性,即反码,补码的概念覆盖所有的数,只是对正负有不同的定义。如果从一个从业者的角度来说,压根就不用管正数的反码,补码,没有实际使用的意义。一定要注意,反码,补码对于正数是没有定义的,保持其没有的形式不变。原码是人用于直接进行的码制(先区别大小后,再进行计算),在计算机中使用起来不方便。

    2.原码,反码,补码三个编码来说,正数是不用担心求其真值的。对于负数,这三种码制关系不断递进,编码的方式也越来越复杂,无论是反码还是补码都已很难分辨出负数的真值了,因此,要求负数的真值时,必须将其补码和反码退回到原码,应该说,原码是最容易判别出真值的,在三种码制中。

    3.解决了正数和负数在不同码制上的不同规则的问题,还有一个疑问就是,关于反码的定义中,要求符号位不懂,转变剩余的位,这目前也是个疑点?

    4.从码制的学习或其它的知识点中,有点要明白,首先要非常熟悉所有的的知识点,然后要弄清楚这些知识点背后的原理,为什么这么来?这些知识点之间的联系是什么?

    5.在众多的码制的讲解中,都以八位的字长来进行介绍,我之前认为反码存在的意义单纯是为了引入补码做铺垫,但是现在看来这个想法是错误的,反码是最初计算机直接用于进行计算的码制,但是人们发现了问题,补码是在计算机运算的过程中的改进型。

    6.首先, 因为人脑可以知道第一位是符号位, 在计算的时候我们会根据符号位, 选择对真值区域的加减. (真值的概念在本文最开头). 但是对于计算机, 加减乘数已经是最基础的运算, 要设计的尽量简单. 计算机辨别"符号位"显然会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法. 我们知道, 根据运算法则减去一个正数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法, 这样计算机运算的设计就更简单了.于是人们开始探索 将符号位参与运算, 并且只保留加法的方法。

    7.计算机内部是不使用原码的,因为原码没法用于运算。进行过运算后,我们一定要将码制还原到原码,这样就能看清真值的大小。

    http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html   这篇博客已经将码制讲解的非常清楚了。

    http://blog.csdn.net/liushuijinger/article/details/7429197

  • 相关阅读:
    【题解】Codeforces Round #600(Div.2)
    【题解】CF 1073 G. Another LCP
    【题解】CF 1129C. Morse Code
    【题解】CF 1200E. Compress Words
    Cpp Chapter 8: Adventures in Functions Part4
    Cpp Chapter 8: Adventures in Functions Part3
    Python Chapter 9: 使用Tkinter进行GUI程序设计 Exercise
    Python Chapter 9: 使用Tkinter进行GUI程序设计 Part 4
    Python Chapter 9: 使用Tkinter进行GUI程序设计 Part 3
    Python Chapter 9: 使用Tkinter进行GUI程序设计 Part 2
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/6422380.html
Copyright © 2011-2022 走看看