c# 数据byte转换int

        今天在做上位机与PLC通信时,对方是协议将数据按照int16发给上位机,但是上位机接收到的数据是高八位在前,低八位在后。而Csharp 中BitConverter.toUint16默认转换时,数据是低八位在前的,于是需要将数据进行转换。C# 自带的方法对于整型、长整型等数据类型,BitConverter.Bigendian 认为第一个字节是最高位字节,BitConverter.IsLittleEndian认为第一个字节是最低位字节。

/// <summary>  
/// 字节byte 转int        
/// </summary>        
/// <param name="data"></param>        
/// <returns></returns>        
public static int ByteToInt(this byte[] data)   
{          
        if (BitConverter.IsLittleEndian)    
        Array.Reverse(data);    
        int ilen = BitConverter.ToUInt16(data, 0);    
        return ilen;   
}

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值