C#中移位运算

基础知识:

在ubuntu 和windows 系统中目前都是小端序列,因此诸如以下形式: 0x12345679

小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中;

cpp 复制代码
// 字节排列是小端顺序
rawdata[7] = (byte)(device.KeyBoard.CarForwardOrBack.Value & 0xFF);
// 这里如果写作(byte)((device.KeyBoard.CarForwardOrBack.Value & 0xFF) >> 8)最后结果就是0x00
rawdata[8] = (byte)((device.KeyBoard.CarForwardOrBack.Value & 0xFF00) >> 8);
//int A = (rawdata[7] | (rawdata[8] << 8));
rawdata[9] = (byte)(device.KeyBoard.CarLeftOrRight.Value & 0xFF);
rawdata[10] = (byte)((device.KeyBoard.CarLeftOrRight.Value & 0xFF00) >> 8);
//int B = (rawdata[9] | (rawdata[10] << 8));

注意: 对于C#来说,必须是这样进行移位操作,否则会出现只返回8位0的情况;

cpp 复制代码
rawdata[8] = (byte)((device.KeyBoard.CarForwardOrBack.Value & 0xFF00) >> 8);
相关推荐
qingfeng1541512 小时前
企业微信 API 可以做什么?
java·开发语言·python·自动化·企业微信
梧桐和风12 小时前
2026 年 Java 趋势:AI 浪潮下,Java 会过时吗?
java·开发语言·人工智能
lsx20240612 小时前
React 组件详解
开发语言
嗨嗨的迷子12 小时前
JDK 17 远程调试连不上 5005:从 attach timeout 到 JDWP 监听地址变更
java·开发语言
Chase_______12 小时前
【Java杂项】为什么 long 可以自动转 float?宽化基本类型转换与精度丢失详解
java·开发语言·python
listhi52012 小时前
基于QT的串口心电波形实时显示系统
开发语言·qt
之歆12 小时前
DAY_12JavaScript DOM 完全指南(三):高级工程篇
开发语言·前端·javascript·ecmascript
invicinble12 小时前
java数组相关的信息量
java·开发语言·python
雪豹阿伟12 小时前
7.C# —— 方法返回值、值传递、ref/out/in/params
c#·上位机
雪豹阿伟12 小时前
5.C# —— Math,goto,双for循环
c#·上位机