c - 如何从 Byte [] 中造词?
问题描述
我是编程世界的新手,我想将两个字节转换为一个单词。
所以基本上,我有一个字节数组,其中索引 0 是Buffer[0]=08
索引 1Buffer[1]=06
我想从这两个字节创建一个单词
哪里词ETHType to be 0x0806
解决方案
您将使用按位运算符和位移。
uint16_t result = ((uint16_t)Buffer[0] << 8) | Buffer[1];
这将执行以下操作:
- 的值
Buffer[0]
左移 8 位。这给了你 0x0800 - 在先验值和 的值之间执行按位或
Buffer[1]
。这会将低 8 位设置Buffer[1]
为 0x0806
推荐阅读
- vue.js - Vue Composition API - 在 setup() 中使用计算来转换数据?
- centos7 - 在 pod/container 中运行的 dpdk 应用程序的核心文件被截断
- assembly - 如何在装配中捕捉分段错误?
- google-apps-script - Google Apps 脚本:设置公式,然后复制/粘贴值
- python - 瓶颈不能采用小于窗口的数据大小?
- python - Python: os.getcwd() 一定会返回真实路径吗?
- amazon-web-services - Amazon S3 不频繁访问和 RPO
- cocoa - Xamarin Forms for Mac runModalForWindow 不会将窗口作为模式启动
- r - 将构面标签向左移动,使 y 轴有更多空间
- laravel - Laravel 验证规则强制用户填写三个输入中的至少一个