永发信息网

解释下代码 abyte0[0] = (uchar) (0xff000000 & i >> 24);的详细意思

答案:2  悬赏:50  手机版
解决时间 2021-02-13 01:10
  • 提问者网友:精神病院里
  • 2021-02-12 17:38
QByteArray intToByte(int i)
{
QByteArray abyte0;
abyte0.resize(4);
abyte0[0] = (uchar) (0xff000000 & i >> 24);
abyte0[1] = (uchar) ((0x00ff0000 & i) >> 16);
abyte0[2] = (uchar) ((0x0000ff00 & i) >> 8);
abyte0[3] = (uchar) ((0x000000ff & i) >> 0);
return abyte0;
}
最佳答案
  • 五星知识达人网友:孤独入客枕
  • 2021-02-12 18:21
abyte0[0] = (uchar) (0xff000000 & i >> 24);
意思应该是
oxff000000&i --获取整型i最高字节,其余字节置0
>>24 --向右位移24位,由0xff000000 变为 0x000000ff然后保存到abyte0[0]中
其他也是类似
全部回答
  • 1楼网友:过活
  • 2021-02-12 19:05
你好! abyte0[0] = (uchar) (0xff000000 & i >> 24); 将I右移24(就是I/2^24)位再与 0xff000000 按位与,再取一字节(取最右边的8位) ,然后送abyte0[0] 变量中 我的回答你还满意吗~~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯