C++二进制拆分取(转换)

int x=38193;
//二进制为1001 0101 0011 0001

int y=x>>8;
//y=149  二进制为1001 0101
//得到前8位

int z;

怎么把后8为的值算出来
使z的值二进制为
0011 0001

如果x为参数,又要怎么做

int z = x % 256;