文章目录
- 前言
- 接收数据示例:0xAA 0x12 0x34 0x55
- 合并高/低字节数据
- RGB565颜色值:0xF800(红色)
- Python中负数右移
- 接收帧:01 03 02 12 34 CRC
前言
本文简单对单片机、上位机中的映射(Mapping)和位移操作符(Bit Shifting)等相关知识进行了简单介绍.
一、单片机与上位机中的二进制操作基础
在嵌入式开发(单片机)和上位机编程(如Python、C#等)中,二进制操作是底层数据处理的核心,尤其在硬件控制、通信协议解析和数据压缩等领域。
- 位移操作符
左移(<<):将二进制数向左移动指定位数,右侧补0。
作用:等效于乘以2^n(n为位移数)。
示例:0b0001 << 2 → 0b0100(十进制1→4)。
右移(>>):将二进制数向右移动指定位数,左侧补0(逻辑右移)或补符号位(算术右移)。
作用:等效于除以2^n(取整)。
示例:0b1000 >> 2 → 0b0010(十进制8→2)。
- 映射(Mapping)
定义:将输入数据的范围按比例转换到目标范围,常用于传感器数据校准、数值标准化等场景。
公式:y = (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
二、单片机中的二进制操作(以C语言为例