一个十进制数short n = 4544 两个字节
%256:取低八位
十进制形式:4544%256=192
二进制形式:
00010001 11000000&
00000000 11111111 =
00000000 11000000
十六进制形式:
0x11c0&0x00ff=0xc0
/256:取高八位
十进制形式:4544/256=17
二进制形式:
00010001 11000000&
11111111 00000000 >>24=
00010001 00000000
十六进制形式:
0x11c0&0xff00>>24=0x11
下面是取int变量各个字节的代码:
#include <iostream>
#include <bitset> //输出二进制
using namespace std;
int main()
{
int a = 4544;
//输出二进制
cout << "高8位" << bitset<8>(a >> 24) << endl; //00000000
cout << "9-18位" << bitset<8>((a << 8) >> 24) << endl; //00000000
cout << "19-24位" << bitset<8>((a << 16) >> 24) << endl;