【求助】ISPsoft如何将无符号数转换成有符号数 点击:226 | 回复:4



HIT1123321

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 0回
  • 年度积分:23
  • 历史总积分:23
  • 注册:2024年10月24日
发表于:2024-10-24 11:19:03
楼主

将无符号数转换为有符号数,读出来的数转换成十进制是6万多的数,所以符号位没有读出来不知道有什么指令可以把这个数转换成有符号数,是从BCD码转成十进制的,符号位被当成有效数了但不知道怎么解决




yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10378回
  • 年度积分:3047
  • 历史总积分:53193
  • 注册:2005年4月22日
发表于:2024-10-24 14:48:24
1楼

如果你原先的数据是有符号的BCD码,请这样操作:

第一步:使用与操作将符号位数据保留,并将原先数据的符号位置0。

第二步:使用BCD转INT将数据由BCD码转为10进制。

第三步:使用或操作将原先保留的符号位写入到转化后数据的符号位上。


当你多个数据需要如此操作的话,请将上述过程写成FC或者子程序。


HAVE FUN!

回复本条

    

Chen001

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 0回
  • 年度积分:101
  • 历史总积分:101
  • 注册:2024年10月24日
发表于:2024-10-24 15:44:27
2楼

1

回复本条

    

请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:631帖 | 8904回
  • 年度积分:14
  • 历史总积分:358785
  • 注册:2011年4月25日
发表于:2024-10-24 16:12:51
3楼

语言有符号数与无符号数之间的转换:无符号数:不存在正负之分,所有位都用来表示数的本身。

有符号数:最高位用来表示数的正负,最高位为1则表示负数,最高位为0则财沃表示正数。1. 无符号数转换为有符号数:看无符号数的最高位是否为1,如果不为1(即为0),则有符号愁怕数就直接等于无符号数;

2.如果无符号数的最高位为1,则将无符号数取补码,得到的数就是有符号数。

3..有符号数转换为无符号数 :看有符号数的最高位是否为1,如果不为1(即为0)暗廊夏,则无符号数就直接等于有符号数;

4.如果有符号数的最高位为1,则将有符号数取补码,得到的数就是无符号数。

回复本条

    

Smile-lyc

  • [管理员]
  • 精华:136帖
  • 求助:54帖
  • 帖子:3631帖 | 23130回
  • 年度积分:601
  • 历史总积分:166092
  • 注册:2006年8月04日
发表于:2024-12-16 18:25:45
4楼

感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。

对于求助者要求:

1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;

2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。

3、求助答疑板块版主结贴时间一般滞后30~45天,以方便大家对求助问题答疑足够时间,也为了每一个优秀答疑人员都可以获取到自己的积分和MP奖励。

4、2024龙年加油!龙年棒棒!




回复本条

    

热门招聘
相关主题

官方公众号

智造工程师