fork(1) download
  1. #include <stdio.h>
  2. #include <stdint.h>
  3.  
  4. void f(uint32_t result, size_t last_generated_size) {
  5. printf("0x%x << %2zu = 0x%x\n", result, 8 * last_generated_size, result << (8 * last_generated_size));
  6. printf("0x%x << %2zu = 0x%x\n", result, 8 * (last_generated_size % sizeof(result)), result << (8 * (last_generated_size % sizeof(result))));
  7. printf("\n");
  8. }
  9.  
  10. int main(void) {
  11. uint32_t r = 0x12345678;
  12. for (size_t s = 0; s <= 8; s++) {
  13. f(r, s);
  14. }
  15. return 0;
  16. }
  17.  
Success #stdin #stdout 0s 5312KB
stdin
Standard input is empty
stdout
0x12345678 <<  0 = 0x12345678
0x12345678 <<  0 = 0x12345678

0x12345678 <<  8 = 0x34567800
0x12345678 <<  8 = 0x34567800

0x12345678 << 16 = 0x56780000
0x12345678 << 16 = 0x56780000

0x12345678 << 24 = 0x78000000
0x12345678 << 24 = 0x78000000

0x12345678 << 32 = 0x12345678
0x12345678 <<  0 = 0x12345678

0x12345678 << 40 = 0x34567800
0x12345678 <<  8 = 0x34567800

0x12345678 << 48 = 0x56780000
0x12345678 << 16 = 0x56780000

0x12345678 << 56 = 0x78000000
0x12345678 << 24 = 0x78000000

0x12345678 << 64 = 0x12345678
0x12345678 <<  0 = 0x12345678