解协议时有符号和无符号整数型处理

 更新时间:2021年9月22日 10:00  点击:1950

1、问题:网关解析正确,我.net这边解析错误,原因是,本来是无符号的,我搞成了有符号的了。

在这里插入图片描述

3、WORD:无符号双字节整形

在这里插入图片描述

在这里插入图片描述

5、0x800A转十进制为32758

在这里插入图片描述

原因是:以下两种写法是等价的,IPAddress.NetworkToHostOrder()不能接收UInt16类型,所以把BitConverter.ToUInt16(arr, 0)强制转化成Int32再转序的。

在这里插入图片描述

6、写法一:一定要“网络序转主机序”后,再取绝对值,否则会有问题,写法一也有问题,最好不要用

在这里插入图片描述

事实证明,写法一也有问题

在这里插入图片描述

7、写法二:“网络序转主机序”后,再转化成UInt16无符号双字节整形

在这里插入图片描述

原理:Int16比UInt16左边多了FFFF,应该这个就是符号吧

在这里插入图片描述

在这里插入图片描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持猪先飞。

[!--infotagslink--]

相关文章

  • C语言中无符号数和有符号数之间的运算

    C语言中有符号数和无符号数进行运算默认会将有符号数看成无符号数进行运算,其中算术运算默认返回无符号数,逻辑运算当然是返回0或1了。下面通过一个例子给大家分享C语言中无符号数和有符号数之间的运算,一起看看吧...2020-04-25
  • 解协议时有符号和无符号整数型处理

    这篇文章主要介绍了解协议时有符号和无符号整数型处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-09-22
  • VMS中解协议常用方法备忘(小结)

    这篇文章主要介绍了VMS中解协议常用方法备忘(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25