请问如何将一个高8位的byte和低8位的byte还原成一个int型?

发布于 2021-11-30 08:18:43 字数 74 浏览 959 评论 12

请问如何将一个高8位的byte和低8位的byte还原成一个16位有符号的int?

例如low=180,高=10

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

输什么也不输骨气 2021-12-01 13:20:28

回答的太简洁了,赞一个

伴我心暖 2021-12-01 13:20:27

#include<stdio.h>

int main(){

 int ah = 10;

 int al = 180;

 int result = 0;

 result = (ah<<8)|al;

 printf("%dn",result);

}

凌乱心跳 2021-12-01 13:20:21

位移

执手闯天涯 2021-12-01 13:20:20

翻过来 int TO byte

void  intToByte(int i,byte *bytes,int size = 4)

{
     //byte[] bytes = new byte[4];
    memset(bytes,0,sizeof(byte) *  size);
    bytes[0] = (byte) (0xff & i);
    bytes[1] = (byte) ((0xff00 & i) >> 8);
    bytes[2] = (byte) ((0xff0000 & i) >> 16);
    bytes[3] = (byte) ((0xff000000 & i) >> 24);
    return ;
 }

醉酒的小男人 2021-12-01 13:19:14

嵌入式里面经常有这样的问题

倚栏听风 2021-12-01 12:57:08

high<<8+low或者这样
high<<8 | low,都一样的

妖妓 2021-12-01 12:47:38

谢谢你,我还是把基础理论掌握一下才行

岁月打碎记忆 2021-12-01 12:24:18

class Program

柳若烟 2021-12-01 06:50:29

是的,我也觉得不对。能帮我示范一下么?

断爱 2021-12-01 05:08:39

这样不会得到你想要结果 

不乱于心 2021-11-30 12:35:50

不知道怎么写啊? result=low | high ?这样吗?

妖妓 2021-11-30 11:31:43

直接或就能求得

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文