• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
liuxianhua
级别: 论坛先锋
精华主题: 0
发帖数量: 611 个
工控威望: 1067 点
下载积分: 10234 分
在线时间: 572(小时)
注册时间: 2008-11-19
最后登录: 2013-02-22
查看liuxianhua的 主题 / 回贴
楼主  发表于: 2010-04-15 12:44
书上说16位数据寄存器的最高为符号位,0为正数1为负数,正数的最大值为32767,负数的最大值为-32768,这我就不明白了,除了符号位外,其他15位都为1时,加起来是32767,为什么负数能储存最高数是-32768呢?恳请高手指点,谢谢,谢谢!!
qlin
学过一点FX型PLC基本知识
级别: 家园常客
精华主题: 0
发帖数量: 537 个
工控威望: 531 点
下载积分: 12343 分
在线时间: 258(小时)
注册时间: 2009-07-13
最后登录: 2019-05-13
查看qlin的 主题 / 回贴
1楼  发表于: 2010-04-15 12:56
在《自学自会PLC指令——三菱FX2N编程技术及应用》一书中有讲解。
主要含意是:内部数据的负数,是用补码表示的;好像是,H8000对应-32768,记不太准了。

具体的,可以做指令试验,帮助理解。
仅很早前用过几次顺控编程(PLC),嘿嘿,没寻找机会
zhaoyang4505
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zhaoyang4505的 主题 / 回贴
2楼  发表于: 2010-04-15 14:08
楼上正解。
正数的补码与原码相等;负数的补码 = 反码+1。
liuxianhua
级别: 论坛先锋
精华主题: 0
发帖数量: 611 个
工控威望: 1067 点
下载积分: 10234 分
在线时间: 572(小时)
注册时间: 2008-11-19
最后登录: 2013-02-22
查看liuxianhua的 主题 / 回贴
3楼  发表于: 2010-04-15 14:43
关于原码、反码、补码以前也学过,现在都忘了,连书都找不到了,能不能请教下大虾:+5的二进制的原码、反码、补码是多少?-5的原码、反码、补码又是多少?谢谢,不胜感激!!
ljc2008
一学到老
级别: 家园常客
精华主题: 0
发帖数量: 406 个
工控威望: 562 点
下载积分: 499 分
在线时间: 172(小时)
注册时间: 2008-10-04
最后登录: 2024-03-04
查看ljc2008的 主题 / 回贴
4楼  发表于: 2010-04-15 15:35
原码就是指用纯二进制编码表示的二进制数,而补码就是对原码进行按位求反,再加1后的二进制数。
+5的二进制的原码是 0000 0000 0000 0101
                        反码是 1111  1111 1111 1010
                        补码是 1111 1111 1111  1011
纯二进制编码只能表示正整数,而正、负数仅是利用原码,补码来表示的二进制编码,因此,负数不存在什么原码,来表示    -5的补码表示 1111 1111 1111 1011
本帖最近评分记录:
  • 下载积分:+2(wu32u2) 热心助人
    liuxianhua
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 611 个
    工控威望: 1067 点
    下载积分: 10234 分
    在线时间: 572(小时)
    注册时间: 2008-11-19
    最后登录: 2013-02-22
    查看liuxianhua的 主题 / 回贴
    5楼  发表于: 2010-04-16 10:14
    谢谢楼上的各位大虾,总算明白一些了,就是搞不懂补码为什么会比原码多表示一位?
    25188400
    学习!!从点滴做起!!!
    级别: 略有小成
    精华主题: 0
    发帖数量: 239 个
    工控威望: 367 点
    下载积分: 1764 分
    在线时间: 259(小时)
    注册时间: 2007-03-28
    最后登录: 2022-07-24
    查看25188400的 主题 / 回贴
    6楼  发表于: 2010-04-16 12:53
    都是高手呀。~学习学习~~
    业绩电气
    级别: 略有小成
    精华主题: 0
    发帖数量: 189 个
    工控威望: 377 点
    下载积分: 1061 分
    在线时间: 117(小时)
    注册时间: 2009-01-02
    最后登录: 2023-11-08
    查看业绩电气的 主题 / 回贴
    7楼  发表于: 2010-04-17 21:34
    向你们大侠学习,
    sjm213
    有小知识,无大学问。
    级别: 论坛版主

    精华主题: 7 篇
    发帖数量: 5212 个
    工控威望: 7436 点
    下载积分: 158993 分
    在线时间: 3172(小时)
    注册时间: 2007-11-21
    最后登录: 2024-12-22
    查看sjm213的 主题 / 回贴
    8楼  发表于: 2010-04-17 23:06
    正数原码与反码、补码一致;
    负数反码是将其原码除符号位之外的各位求反,补码是将反码加1。
    所以4楼的解释是有问题的。
    -5的二进制的原码是 1000 0000 0000 0101
                            反码是 1111  1111 1111 1010
                            补码是 1111 1111 1111  1011
    ----------------------------------------------------------------------------------------------
    以下转载,解释有符号的数范围为何是-(n+1)~n:
    为什么要设立补码呢?

    第一是为了能让计算机执行减法:
    [a-b]补=a补+(-b)补

    第二个原因是为了统一正0和负0
    正零:00000000
    负零:10000000
    这两个数其实都是0,但他们的原码却有不同的表示。
    但是他们的补码是一样的,都是00000000
    特别注意,如果+1之后有进位的,要一直往前进位,包括符号位!(这和反码是不同的!)
    [10000000]补
    =[10000000]反+1
    =11111111+1
    =(1)00000000
    =00000000(最高位溢出了,符号位变成了0)

    有人会问
    10000000这个补码表示的哪个数的补码呢?
    其实这是一个规定,这个数表示的是-128
    所以n位补码能表示的范围是
    -2^(n-1)到2^(n-1)-1
    比n位原码能表示的数多一个
    本帖最近评分记录:
  • 下载积分:+4(njaolian) 解释太详细了,不给对不 ..
    苏目
    级别: 探索解密
    精华主题: 0
    发帖数量: 12 个
    工控威望: 104 点
    下载积分: 584 分
    在线时间: 15(小时)
    注册时间: 2010-04-08
    最后登录: 2020-08-15
    查看苏目的 主题 / 回贴
    9楼  发表于: 2010-04-18 14:39
    最高位为是1,其余十五位为0时,即为32768,因为不存在负0.
    一笑而过
    级别: 略有小成
    精华主题: 0
    发帖数量: 265 个
    工控威望: 488 点
    下载积分: 9494 分
    在线时间: 212(小时)
    注册时间: 2010-01-30
    最后登录: 2013-02-03
    查看一笑而过的 主题 / 回贴
    10楼  发表于: 2010-04-19 12:00
    原来是规定,似乎明白了,谢谢斑竹!
    pretco123
    不为失败找理由,只为成功找方法
    级别: 论坛先锋

    精华主题: 0
    发帖数量: 2481 个
    工控威望: 1776 点
    下载积分: 83532 分
    在线时间: 1525(小时)
    注册时间: 2008-04-15
    最后登录: 2024-12-23
    查看pretco123的 主题 / 回贴
    11楼  发表于: 2010-04-19 12:44
    略懂点了!那么表示一个负数等于两部分,要用反码和补码来表示。数字范围是-32767~32767中。。。正数加1也是正数,负数减1就等于加上一个(-1)表示负数必需是将表示符号的最高位置1。
    例:00000000-1
          =00000000+(-1)
       =11111111
          =10000001
    请问各位高手是不是这样的?请指教!怎么搞到自己好象有点乱了!
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go