Ç得到整数的第n个字节 [英] c get nth byte of integer

查看:214
本文介绍了Ç得到整数的第n个字节的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道你可以通过使用获得的第一个字节

  INT X =号&放大器; ((1 <<;&下; 8)-1);

  INT X =号&放大器; 0xFF的;

但我不知道如何获得一个整数的第n个字节。
例如,1234 00000000 00000000 00000100 11010010的32位整数
我怎样才能得到所有这些字节?第一个将是210,第二将是4,并最后两个是0


解决方案

  INT X =(数字&GT;&GT;(8 * N))及0xFF的;

其中,n为第二个字节,等等的第一个字节,1是0

I know you can get the first byte by using

int x = number & ((1<<8)-1);

or

int x = number & 0xFF;

But I don't know how to get the nth byte of an integer. For example, 1234 is 00000000 00000000 00000100 11010010 as 32bit integer How can I get all of those bytes? first one would be 210, second would be 4 and the last two would be 0.

解决方案

int x = (number >> (8*n)) & 0xff;

where n is 0 for the first byte, 1 for the second byte, etc.

这篇关于Ç得到整数的第n个字节的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆