C語言里<<是什么意思(深入解析C語言中左移運算符<<的用法)
左移運算符<<是C語言中的一種位運算符。它用于將一個數的二進制表示向左移動指定的位數,并在右側添加零。在C語言中,左移運算符<<的語法如下
表達式1<< 表達式2
其中,表達式1是要進行左移運算的數,表達式2是要左移的位數。
如果要將數值5向左移動2位,可以使用以下代碼
t a = 5<< 2;
在這個例子中,變量a將被賦值為20,因為5的二進制表示是101,向左移動兩位后變成10100,也就是20。
左移運算符<<的用途非常廣泛。以下是它的一些常見用法
是左移的位數。將數值3向左移動3位,可以得到24,即3乘以2的3次方。
2. 用于位操作
左移運算符<<可以用于位操作,例如將某一位設置為1或清零。將數字1向左移動3位,然后與數字0進行或操作,可以將二進制數的第4位設置為1
t a = 1<< 3;
a = a | 0;
3. 用于內存操作
左移運算符<<也可以用于內存操作,例如將一個指針向左移動指定的字節數。將指向某一塊內存的指針向左移動4個字節,可以使用以下代碼
char p = (char )0x1000;
p = p<< 2;
在這個例子中,指針p將指向地址0x1000處的內存,然后向左移動2個字節,變成0x1004。
次方、位操作和內存操作。