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埋めしたいなら>>>を使いましょう.