<< =表示什么(在C中)?

mur*_*ugh -2 c syntax

正如标题所说,我对所<<=代表的内容感到有些困惑.我知道<<是一个班次操作员,但这是我第一次看到=它.有任何澄清吗?

示例代码:

#include <stdio.h> 
main() { 
  unsigned int i, s; 
  for( s = i = 0; i <= 7; i++){ 
    switch (i%3) { 
      case 0: i++; 
      case 1: i <<= (7 & (i + 1)) | ((i + 2) & 6); s += i; break; 
      case 2: i += (i ^ i) | 1 ; continue; 
    } 
    s++; 
  } 
  printf("%d\n", s); 
} 
Run Code Online (Sandbox Code Playgroud)

man*_*els 8

AFAIK >>=是"相同"的操作.你可以打电话

i = i << 4;
Run Code Online (Sandbox Code Playgroud)

要么

i <<= 4;
Run Code Online (Sandbox Code Playgroud)

它具有相同的效果.

就像i = i + 5;i += 5;