具体的には、何をし($c1 & 0x03) << 4
ますか?
0x03は16進表記ですか?
これは、最初の操作が論理的にANDでHEX値0x03(つまり、HEXでは3、またはBinaryでは(0011))で実行され、次にShift4桁を左に移動することを意味します。
uに$c= 34を設定します。次に、最初に$ c&3を実行します。これは(100010 BITWISE AND 000011)であり、(000010)を返します。次に、左の位置で4桁シフトし、$ cで新しい値を復元します。つまり(100000)または10進数で32。
お役に立てば幸いです。
ありがとう
これは、値の下位 2 ビットを取り、$c1
それを 4 ビット左にシフトします。
はい、0x は 16 進数です。これは、$c1 と 16 進数の 03 値のビットごとの AND を実行し、結果を 4 桁 (2 の累乗) 左にシフトします。