FrontPage > C/C++ > C言語 > C言語 基本 > 「<< >>」
ビットレベルのシフト処理を行う。
#include <stdio.h> main(){ int iLoop = 0; for (iLoop=0; iLoop <= 20; iLoop++){ printf (" ( 0x000001 << %02d ) = %x\n", iLoop, (0x000001 << iLoop)); } printf ("\n"); for (iLoop=0; iLoop <= 20; iLoop++){ printf (" ( 0x100000 >> %02d ) = %x\n", iLoop, (0x100000 >> iLoop)); } }
( 0x000001 << 0 ) = 1 ( 0x000001 << 1 ) = 2 ( 0x000001 << 2 ) = 4 ( 0x000001 << 3 ) = 8 ( 0x000001 << 4 ) = 10 ( 0x000001 << 5 ) = 20 ( 0x000001 << 6 ) = 40 ( 0x000001 << 7 ) = 80 ( 0x000001 << 8 ) = 100 ( 0x000001 << 9 ) = 200 ( 0x000001 << 10 ) = 400 ( 0x000001 << 11 ) = 800 ( 0x000001 << 12 ) = 1000 ( 0x000001 << 13 ) = 2000 ( 0x000001 << 14 ) = 4000 ( 0x000001 << 15 ) = 8000 ( 0x000001 << 16 ) = 10000 ( 0x000001 << 17 ) = 20000 ( 0x000001 << 18 ) = 40000 ( 0x000001 << 19 ) = 80000 ( 0x000001 << 20 ) = 100000 ( 0x100000 >> 0 ) = 100000 ( 0x100000 >> 1 ) = 80000 ( 0x100000 >> 2 ) = 40000 ( 0x100000 >> 3 ) = 20000 ( 0x100000 >> 4 ) = 10000 ( 0x100000 >> 5 ) = 8000 ( 0x100000 >> 6 ) = 4000 ( 0x100000 >> 7 ) = 2000 ( 0x100000 >> 8 ) = 1000 ( 0x100000 >> 9 ) = 800 ( 0x100000 >> 10 ) = 400 ( 0x100000 >> 11 ) = 200 ( 0x100000 >> 12 ) = 100 ( 0x100000 >> 13 ) = 80 ( 0x100000 >> 14 ) = 40 ( 0x100000 >> 15 ) = 20 ( 0x100000 >> 16 ) = 10 ( 0x100000 >> 17 ) = 8 ( 0x100000 >> 18 ) = 4 ( 0x100000 >> 19 ) = 2 ( 0x100000 >> 20 ) = 1