1. e-works数字化企业网
  2. 书屋
  3. 书籍列表
  4. 51单片机快速上手
  5. 码制

第一章 单片机基础知识

第四节 码制


1.4  码制    

    实际的数值是带有符号的,既可能是正数,也可能是负数,正数符号用“+”号表示,负数符号用“-”表示,运算的结果可能是正数,也可能是负数。于是在计算机中就存在着如何表示正、负数的问题。
    由于计算机只能识别0和1,因此在计算机中通常把一个二进制数的最高位作为符号位,以表示数值的正与负(若用8位表示一个数,则D7位为符号位;若用16位表示一个数,则D15位为符号位),并用0表示“+”,用1表示“-”。带符号数通常分成原码、反码和补码,见表1-8。

    通常,计算机中用补码来表示带符号数。正数的补码同原码,负数的补码符号位为1,数值位为模减此数绝对值。补码的求法一般有两种:
    1)用补码定义式:
    [X]补=2n-|X|     -2n-1≤X≤0(整数)
    【例1-3】 X=-0101111B,n=8,求[X]补。
    解:[X]补 =28+(-0101111B)
    =100000000B-0101111B
    =11010001B(mod 28)
    在用补码定义式求补码的过程中,由于做一次减法很不方便,故该法一般不用。
    2)用原码求反码,再在数值末位加1可得到补码,即[X]补=[X]反+1。
    补码求法公式推导:
    设8位二进制数的模为28=256
    当X<0,[X]补=28-|X|=256-|X|=255-|X|+1
    =[X]反+1 
   【例1-4】 求+4和-4的原码、反码和补码。
   解:
    (1)X=+4[X]原=[X]反=[X]补=00000100B
    (2)X=-4[X]原=10000100B
    [X]反=11111011B
    [X]补=11111100B
    需要说明的是,计算机内的一组二进制编码和它们的“真值”之间存在着“一对多”的关系,如41H可以表示:有符号数+65的补码;无符号数65;大写字母“A”的ASCII码和十进制数41D的压缩BCD码。只有定义、使用该数据的程序员才知道它的真值。

系列微信

数字化企业网
PLM之神
e-works制信科技
MES百科
工业自动化洞察
智能制造IM
AI智造圈
智能工厂前线
工业机器人洞察
智造人才圈
工业软件应用
智能制造网博会
ERP之家
供应链指南针
© 2002-2025  武汉制信科技有限公司  版权所有  ICP经营许可证:鄂B2-20030029-1(于2003年首获许可证:鄂B2-20030029)
鄂公网安备:420100003343号 法律声明及隐私权政策     投诉举报电话:027-87592219

关于我们    |    联系我们    |    隐私条款

ICP经营许可证:鄂B2-20080078
(于2003年首获许可证:鄂B2-20030029)
鄂公网安备:420100003343号
© 2002-2025  武汉制信科技有限公司  版权所有
投诉举报电话:027-87592219

扫码查看