我有以下代码,我们尝试在其中左移值的某些位:
int main()
{
unsigned long mvb = 1;
mvb << 8;
printf("The shift value is %u\n", mvb);
mvb << 56;
printf("The shift value is %u\n", mvb);
}
但是这两个操作的结果均为
1
,这是什么原因,以及如何正确使用它? 最佳答案
转换后,您需要将其分配回mvb:
mvb = mvb << 8;