ProcessingというかJavaの>>(右ビットシフト)の仕様
Javaで>>
をすると最上位ビットの値で埋めます.
Processingでしているので,Java環境の方は適宜書き換えて試してください.
テストコード
boolean flag = true; void setup(){ } void draw(){ if( flag ){ println("0xFFFFFF << 4: " + hex( 0xFFFFFF << 4 )); println("0xFFFFFFFF << 4: " + hex( 0xFFFFFFFF << 4 )); println(); println("0xFFFFFF >> 4: " + hex( 0xFFFFFF >> 4 )); println("0xFFFFFFFF >> 4: " + hex( 0xFFFFFFFF >> 4 )); println("0xFFFFFFFF >>> 4: " + hex( 0xFFFFFFFF >>> 4 )); flag = false; } }
結果
0xFFFFFF << 4: 0FFFFFF0 0xFFFFFFFF << 4: FFFFFFF0 0xFFFFFF >> 4: 000FFFFF 0xFFFFFFFF >> 4: FFFFFFFF 0xFFFFFFFF >>> 4: 0FFFFFFF
>>
する場合,確実に0埋めしたいなら>>>
を使いましょう.