社区
C#
帖子详情
C# 中如何将uint数据转换为网络字节序 在线等!
yiyezhiqiu
2005-06-03 11:07:47
如果定义整形的可以这样转换,int seqno=BitConverter.ToInt32(bytes,8);
seqno=IPAddress.NetworkToHostOrder(seqno);
但uint r =0x80000004;
uint requestidl=(uint) IPAddress.HostToNetworkOrder(r);
会得到requestidl=0x0;
请教高手如何uint变量转换为网络字节序
...全文
307
1
打赏
收藏
C# 中如何将uint数据转换为网络字节序 在线等!
如果定义整形的可以这样转换,int seqno=BitConverter.ToInt32(bytes,8); seqno=IPAddress.NetworkToHostOrder(seqno); 但uint r =0x80000004; uint requestidl=(uint) IPAddress.HostToNetworkOrder(r); 会得到requestidl=0x0; 请教高手如何uint变量转换为网络字节序
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lookfeng
2005-06-03
打赏
举报
回复
bytes tmp = BitConvert.GetBytes(uint);
Array.Reverse(tmp);
BitConvert.GetUint(tmp);
C#
Byte数组转
Int
32 Short Float(浮点数)
C#
Byte数组 数值转花
Int
32 Short Float 浮点数 自己写的Test 有问题可以联系我
c#
实现HidUsb设备通信
赋所有源代码,开发工具vs2010 framework3.5 baidu搜索
c#
HidUsb都是大同小异案例,而且拿下来基本不能用。大都是围绕public static extern
int
CreateFile(省略众多参数..);发现没有,copy下来测试基本都是用不了的。 原因很简单:windows不允许你用程序随便就去访问硬件设备。所以在此把之前做过的基于
C#
开发读写HidUsb设备的项目整理成一个简单的小案例,分享给大家,开发环境VS2010。 该案例重点在public static extern SafeFileHandle CreateFile(string lpFileName, u
int
dwDesiredAccess,
int
dwShareMode,
Int
Ptr lpSecurityAttributes,
int
dwCreationDisposition,
int
dwFlagsAndAttributes,
int
hTemplateFile); 看着貌似也是用到CreateFile这个函数,其实并不然,注意到没有"SafeFileHandle",这就是重点! 这样windows是允许程序访问外接hidusb设备的。 当然具体如何运用这个函数现在已经不是您应该 关心的了,因为我已经为您把它封装成一个类,您只要调用相应的方法就OK. 例: //第一步:获取HidUsb设备信息 List slist = new List(); UsbHidDevice usbhid = new UsbHidDevice(); usbhid.GetDeviceList(ref slist); //HidUsb设备信息包含在List
数据
集
中
注:当获取到HidUsb设备信息为:\\?\hid#vid_0e2c&pid;_0112#6&1b44c403;&0&0000;#{4d1e55b2-f16f-11cf-88cb-001111000030}, 注意该字符串里的“vid_0e2c”和“pid_0112”部分,那么: vid为0e2c, pid为:0112 //第二步:创建一个HidUsb设备访问实例 UsbHidDevice Device = new UsbHidDevice(vid, pid); //第三步:连接HidUsb设备 Boolean connBool = Device.Connect(); //第四步:实现
数据
接收事件 Device.DataReceived += new UsbHidDevice.DataReceivedDelegate(Device_DataReceived); //当HidUsb设备返回信息时触发此事件 void Device_DataReceived(byte[] data) { //处理接收到的
数据
逻辑 } //第五步:向Hid设备发送
数据
"0xa0 00 0x12 0x9 0x22" string txt = "0xa0 00 0x12 0x9 0x22"; //把
数据
转换
为字节数组 byte[] data = ConvertHelper.StringToByte(txt2); byte bt = 0; CommandMessage cmdMsg = new CommandMessage(bt, data); Boolean sbool = Device.SendMessage(cmdMsg); //发送
数据
//第六步:释放所有资源 Device.Dispose();
C#
byte转为有符号整数实例
C#
开发,收到下位机串口
数据
(温度信息),可能是正数也可能是负数,如何
转换
? 第一反应是想起书本上的理论,无符号数表示范围是多少到多少,有符号数的表示范围是多少到多少,这就把问题复杂化了, 别忘了u
int
类型: u
int
raw = (u
int
)(bytes[7] * 256 + bytes[8]); //本项目的实际情况,用两个byte表示问题数字
int
wd = (
int
)raw; byte先转u
int
,u
int
再转
int
. 补充知识:
c#
byte数组
转换
8位有符号整数 16位有符号整数 32位有符号整数 byte数组 byte[] aa = new byte[] { 0xF8
主机
字节序
和
网络
字节序
的相互
转换
什么叫做
字节序
CPU在内存
中
对
数据
进行存储的顺序 对于大于一个字节的类型:long、double、float、
int
、short的存储 主机
字节序
主机
字节序
分为大端
字节序
和小端
字节序
大端
字节序
:低地址存高位 小端
字节序
:低地址存地位 这样做在没有进行
网络
通信时各有各的好处,但是在进行
网络
通信时,就会造成
数据
二义性问题 如何查看自己的主机是大端
字节序
还是小端
字节序
很简单...
C#
实现
字节序
转换
该函数
中
使用了BitConverter.GetBytes()方法将输入的值
转换
为字节数组,再使用Array.Reverse()方法进行
字节序
反转,最后通过Convert.ChangeType()方法将字节数组
转换
为对应类型的值,从而实现
字节序
转换
。本文介绍了使用
C#
实现
字节序
转换
的方法,并提供了相应的源代码。首先我们需要定义一个通用的
字节序
转换
函数,该函数可接受任意类型的参数并进行
字节序
转换
。如上示例代码,可以看到不同类型的
数据
均可进行
字节序
转换
,并且
转换
后的结果与预期相符。
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章