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);
相关推荐
xlq223226 分钟前
46.线程池
linux·开发语言
LF男男8 分钟前
Action- C# 内置的委托类型
java·开发语言·c#
记录无知岁月9 分钟前
【C/C++】头文件包含问题分析
c语言·开发语言·c++
神仙别闹18 分钟前
基于Python实现(控制台)个人信息系统
开发语言·python
HoneyMoose24 分钟前
Discourse 更加依赖 tag 的扁平化管理
开发语言
Hello eveybody29 分钟前
介绍最大公因数和最小公约数(Python)
开发语言·python
谭欣辰30 分钟前
C++ 堆 的基础与 二叉堆详解
开发语言·c++
Ulyanov34 分钟前
《PySide6 GUI开发指南:QML核心与实践》 第十篇:综合实战——构建完整的跨平台个人管理应用
开发语言·python·qt·ui·交互·qml·雷达电子战系统仿真
ian4u36 分钟前
车载 Android C++ 完整技能路线:从基础到进阶
android·开发语言·c++
lly20240636 分钟前
JSP 过滤器
开发语言