zoukankan      html  css  js  c++  java
  • 数据报文解析中的高低位转换问题。

    bit(比特)

    为1数据位,取值 0或1;

    byte(字节)

    1字节8个bit ,一个byte表示无符号类型unsigned表示为0-255之间的值,表示有符号为-128-127。何为有符号类型,即可以表示为负数,0,正数,而无符号类型则仅表示为大于等于0的值

    word(字)

    在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit)
    在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit)
    在64位的系统中(比如win64)1字(word)= 8字节(byte)=64(bit)

     最小的内存块成为“字节”,储存的基本单位称为“字”。

    最近做数据采集时,采集的16进制报文,流量占用数据区4个字节,其中低位在前,高位在后。

    报文为: 

    37 07 00 00

    流量数据占用四个字节,这条数据只占用了2个字节,低位在前那么就是 37是低位,07是高位;

    上面说了一个字节8个bit 那么2个字节就是16个bit  转换程二进制显示就是

    00000000  00000000

    二进制数据 从右到左依次是低位到高位,十进制也是这样 例如:86000 八万六 最高位是万位在最左侧。

    37位低位,07是高位  分别将 16进制的 37 和07 转换为二进制数据

    37----》 110111

    07----》 111

    按照高低位规则转换后得到二进制数据

    00000111 00110111

    将其转换为10进制数据得到 

    1847

    得到最终展示的数据1847.

    一般一个16位(双字节)的数据,比如 FF1A  (16进制)
    那么高位字节就是FF,低位是1A

    如果是32位的数据,比如  3F68415B
    高位字 是3F68
    低位字是415B

  • 相关阅读:
    区块链到底是什么?
    Focusky:把每个PPT都变成3D动画
    c# 嵌入资源文件
    向ArcGIS的ToolBarControl中添加任意的windows控件的方法
    C# 获得MP4时长
    arcmap Command
    C# PPT 查找替换
    C# 操作PPt,去掉文本框的边框
    arcgis 按面积分割, 按比例分割面积,按等份批量面积分割工具
    电动自行车如何过马路?规定:下车推行!
  • 原文地址:https://www.cnblogs.com/motion/p/15305394.html
Copyright © 2011-2022 走看看