วันศุกร์ที่ 26 กรกฎาคม พ.ศ. 2556

binary minus





boolean[]a={true,false,true,true};//เก็บค่าของ binary ในรูปของ true,false โดย true แทน 1 และ false แทน 0 
boolean[]b={true,true,false,false};//เก็บค่าของ binary ในรูปของ true,false โดย true แทน 1 และ false แทน 0
boolean[]c=new boolean[4];//เก็บค่าของ binary ใหม่จำนวน 4 จำนวน
int i = 3;//index 3 คือจำนวนที่สี่เพราะ index มีการเก็บค่าตั้งแต่ 0 เป็นต้นไป

void setup(){//เป็น function หนึ่งใน system function เป็น function ที่เรียกใช้อัตโนมัติ และยังเป็นฟังก์ชั่นที่ทำงานเพียงครั้งเดียวและจะทำงานก่อนเป็นสิ่งแรก
 while(i>0){
  if(a[i]==true && b[i] == true){//ถ้าค่าใน array a มีค่าเป็น true และ array b มีค่าเป็น true จะทำตาม statement ด้านล่าง คือให้ c[i] ตำแหน่งลำดับที่ i มีค่าเป็น false
    c[i]=false;
  }
  else if(a[i]==false && b[i]==false){//ถ้าค่าใน array a มีค่าเป็น false และ array b มีค่าเป็น false จะทำตาม statement ด้านล่าง คือให้ c[i] ตำแหน่งลำดับที่ i มีค่าเป็น false
      c[i]=false;
    }
  else if(a[i]==false && b[i]==true){//ถ้าค่าใน array a มีค่าเป็น false และ array b มีค่าเป็น true จะทำตาม statement ด้านล่าง คือให้ c[i] ตำแหน่งลำดับที่ i มีค่าเป็น true
    c[i]=true;
    c[i-1]=!c[i-1];
    if(c[i-1]==true){//c[i-1] มีค่าเป็นจริงให้ทำตาม statement ด้านล่าง
      int j=1;
      while(a[i-j]==true){//ตำแหน่งหรือลำดับด้านหน้าเป็น true
        j++;//บวก j เพิ่มอีก 1
         if(a[0]==true){//ตำแหน่งหรือลำดับด้านหน้าสุด(แรก)เป็น true
          break;//หยุดเงื่อนไข
         }
        c[i-j]=!c[i-j];
      }
    }
   }
   else if(a[i] == true && b[i] == false){//ถ้าค่าใน array a มีค่าเป็น true และ array b มีค่าเป็น false จะทำตาม statement ด้านล่าง คือให้ c[i] ตำแหน่งลำดับที่ i มีค่าเป็น true
        c[i]=true;
      }
   i=i-1;//เพิ่มทุกครั้งเพื่อกลับไปวน loop
 }

 print(""+c[0]+c[1]+c[2]+c[3]);//แสดงผลการคำนวณ
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น