GRAM电子秤C#编程:单价111对应字节段00 00 2b 5c的解析疑问
GRAM电子秤单价指令字节解析
我正在使用GRAM电子秤,通过C#编程向秤中输入单价。根据设备文档,字节序列77 f9 00 00 04 00 00 2b 5c 01对应单价111,且该指令已能成功执行,但我不清楚序列中的00 00 2b 5c部分如何对应文档说明的单价111。
设备文档相关说明:
- 单价设置指令结构:
指令格式为
77 F9 [保留位] [数据长度] [单价数据(4字节)] [校验位],其中单价数据占据连续4个字节。
- 单价数据编码规则:
单价以“分”为单位转换为整数存储,采用大端字节序(高位字节在前)的4字节十六进制格式。
对应关系解析
- 首先将单价111元转换为以“分”为单位的整数:
111 × 100 = 11100分。 - 把十进制数11100转换为十六进制:计算可得
11100 = 0x2B5C(具体计算:2×16³ + 11×16² + 5×16 + 12 = 8192 + 2816 + 80 + 12 = 11100)。 - 按照4字节大端字节序的要求,在十六进制值前补零凑满4字节,最终得到
00 00 2B 5C,这就是指令中对应单价的字节段。
内容的提问来源于stack exchange,提问作者Lanlan Sun
相关产品推荐
相关产品推荐

