数据类型转换之C#设计笔记(四)

1、将字节数组转换成int类型
int byteToInt(byte[] b)
{
int mask = 0xff;
int temp = 0;
int n = 0;
for (int i = b.Length - 1; i >= 0; i–)
{
n <<= 8;
temp = b[i] & mask;
n |= temp;
}
return n;
}
2、int类型转字节数组
byte[] SIGMA_WRITE_REGISTER_INT(int writeValue)
{
byte[] hexVal = BitConverter.GetBytes(writeValue);
return hexVal;
}
3、字符串转INT型
int str2int(string data)
{
int value = 0;
byte[] byteData = new byte[4];
SplitData(data, ref byteData, 4);
int i = 0;
for (int j=3; j >=0; j–)
{
value |= byteData[i++] << j*8;
}
return value;
}
4、INT型转字符串
string int2str(int data)
{
string datastr = “”;
byte[] byteData = new byte[4];
int i = 0;
for (int j = 3; j>=0; j–)
{
byteData[i++] = (byte)(0xFF & (data >> (j * 8)));
}
for (int j = 0; j < 4; ++j)
{
datastr = String.Format("{0:G}{1:X2} ", datastr, byteData[j]);
}
return datastr;
}
5、拆分text到发送data数组
private int SplitData(string data, ref byte[] transData, int maxLen)
{
string[] dataArray = data.Split(’ ');
for (int i = 0; (i < maxLen) && (i < dataArray.Length); i++)
{
transData[i] = Convert.ToByte(dataArray[i].Substring(0, 2), 16);
}
return dataArray.Length;
}
6、单精度浮点数据转字符数组
byte[] SIGMA_WRITE_REGISTER_FLOAT(float writeValue)
{
byte[] hexVal = BitConverter.GetBytes(writeValue);
return hexVal;
}
7、字符数组转换成单精度浮点数据
float SIGMA_READ_REGISTER_FLOAT(byte [] hexVal)
{
return BitConverter.ToSingle(hexVal, 0);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值