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);
相关推荐
比昨天多敲两行2 分钟前
C++ map和set的使用
开发语言·c++
格林威14 分钟前
ZeroMQ 在视觉系统中的应用
开发语言·人工智能·数码相机·机器学习·计算机视觉·c#·视觉检测
safestar201218 分钟前
React 19实战:Action、并发与性能,一次告别“意大利面状态”的升级
开发语言·javascript·vue.js
格林威18 分钟前
工业相机图像采集:如何避免多相机数据混乱
人工智能·数码相机·opencv·机器学习·计算机视觉·c#·视觉检测
一只幸运猫.26 分钟前
Rust实用工具特型-Clone
开发语言·后端·rust
0xDevNull38 分钟前
Java BigDecimal 完全指南:从入门到精通
java·开发语言·后端
武藤一雄39 分钟前
C#万字详解 栈与托管堆 的底层逻辑
windows·microsoft·c#·.net·.netcore
桌面运维家39 分钟前
交换机环路排查:STP配置实战与网络故障精确定位
开发语言·php
XiYang-DING40 分钟前
【Java】从源码深入理解LinkedList
java·开发语言
837927397@QQ.COM40 分钟前
个人理解无界原理
开发语言·前端·javascript