您的位置:控制工程论坛网论坛 » 工业机器人 » 【求助】ISPsoft如何将无符号数转换成有符号数

sgaaa

sgaaa   |   当前状态:在线

总积分:709  2024年可用积分:304

注册时间: 2007-11-04

最后登录时间: 2024-12-19

空间 发短消息加为好友

【求助】ISPsoft如何将无符号数转换成有符号数

sgaaa  发表于 2024/10/24 23:33:03      396 查看 3 回复  [上一主题]  [下一主题]

手机阅读

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

1楼 0 0 回复
  • jwx506

    jwx506   |   当前状态:在线

    总积分:368  2024年可用积分:195

    注册时间: 2007-02-27

    最后登录时间: 2024-12-19

    空间 发短消息加为好友

    jwx506   发表于 2024/10/24 23:44:01

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

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

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

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


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


    2楼 回复本楼

    引用 jwx506 2024/10/24 23:44:01 发表于2楼的内容

  • lvgang

    lvgang   |   当前状态:在线

    总积分:390  2024年可用积分:241

    注册时间: 2007-04-27

    最后登录时间: 2024-12-19

    空间 发短消息加为好友

    lvgang   发表于 2024/10/24 23:49:44

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

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

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

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

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


    3楼 回复本楼

    引用 lvgang 2024/10/24 23:49:44 发表于3楼的内容

  • lxf11

    lxf11   |   当前状态:在线

    总积分:348  2024年可用积分:249

    注册时间: 2006-09-18

    最后登录时间: 2024-10-25

    空间 发短消息加为好友

    lxf11   发表于 2024/10/24 23:50:37

    新手来学习

    4楼 回复本楼

    引用 lxf11 2024/10/24 23:50:37 发表于4楼的内容

总共 , 当前 /