我有以下代码,我们尝试在其中左移值的某些位:

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;

10-06 02:20