如何从数字中提取第一,第二和第三位?

我想知道是否可以不使用遮罩来执行此操作吗?

使用蒙版,它将像这样:

int a=125;
mask=0b1110;
int A=a&mask;

但是我不知道如何使用移位和其他按位操作来做同样的事情