C#上位机和下位机通讯协议上有关数制转换问题,望大家不吝赐教
通讯协议:原始数据为浮点数,且数值范围各不相同,为了方便下位机处理数据,故要原始数据转化为整型数(范围是0~1023)再发送,转化的方法即是以一个比例系数K对原始数据整体进行缩小或放大,然后取整,使转化后的数据满足范围要求。转化后数据发送时统一以16进制,16位发送,如256应发送0100H, 255应发送0010H,小于256的数高8位的0不能省略
我的疑惑:1)浮点数转换成小数后,数据不失真吗?
2)serial port 传输数据时自动转为byte形式传输?协议里的十六进制和byte有什么联系?
3)我需要将数据转换成十六进制(字符串形式),再将16进制格式的string 转成byte[],例如, "ae00cf"转换成0xae00cf,然后用serialport。write(byte【】)吗?
恳请大家解答