T^T Binary display T^T
~ ~ ฮือๆๆ ~ ~
Binary Processing.js code
int[] ai = {1,0,1}; //ประกาศและกำหนดค่าอะเรย์ ชื่อ ai
int[] bi = {1,1,0}; //ประกาศและกำหนดค่าอะเรย์ ชื่อ bi
int[] c = new int[ai.length]; //ประกาศค่าอะเรย์ความยาวเท่ากับความยาว ai เอาไว้เป็นตัวเก็บเลขทด
int[] ab = new int[ai.length+1]; //ประกาศค่าอะเรย์ความยาวเท่ากับความยาว ai เป็นตัวเก็บผลลัพธ์
void setup(){
size(300,300);
background(20,255,186);
int i = ai.length-1;
int j = ab.length-1;
while(i>=0){
if(ai[i]==1&&bi[i]==1){ //เงื่อนไขที่ถ้า ai = 1 และ bi = 1
c[0]=1; //c[0] เก็บเลขทดเป็น 1 เพราะเลขฐานสอง 1 + 1 ได้ผลลัพธ์เท่ากับ 0 ทด 1
ab[j]=0;
if(c[1]==1){ //แล้วถ้าผลลัพธ์ก่อนหน้ามีตัวทด 1 ให้ ผลลัพธ์ที่ได้นี้เท่ากับ 1
ab[j]=1;
}else{ //ถ้าผลลัพธ์ก่อนหน้าไม่มีตัวทด ให้ผลลัพธ์ที่ได้นี้เท่ากับ 0
ab[j]=0;
}
c[1]=c[0]; //ให้ค่า c[1] = c[0] คือ ให้รีเซ็ตค่า c[1] เท่ากับ c[0]
}else if(ai[i]==0&&bi[i]==0){ //เงื่อนไขที่ถ้า ai = 0 และ bi = 0
c[0]=0; //c[0] เก็บเลขทดเป็น 0 เพราะเลขฐานสอง 0 + 0 ได้ผลลัพธ์เท่ากับ 0 ทด 0
ab[j]=0;
if(c[1]==1){ //แล้วถ้าผลลัพธ์ก่อนหน้ามีตัวทด 1 ให้ ผลลัพธ์ที่ได้นี้เท่ากับ 1
ab[j]=1;
}else{
ab[j]=0; //ถ้าผลลัพธ์ก่อนหน้าไม่มีตัวทด ให้ผลลัพธ์ที่ได้นี้เท่ากับ 0
}
c[1]=c[0]; //ให้ค่า c[1] = c[0] คือ ให้รีเซ็ตค่า c[1] เท่ากับ c[0]
}else{ //เงื่อนไขที่ถ้าไม่ใช่ทั้งสองอย่างข้างต้น
c[0]=0; //c[0] เก็บเลขทดเป็น 0 เพราะเลขฐานสอง 0+1 หรือ 1+0 ได้ผลลัพธ์เท่ากับ 1 ทด 0
ab[j]=1;
if(c[1]==1){ //แล้วถ้าผลลัพธ์ก่อนหน้ามีตัวทด 1 ให้ ผลลัพธ์ที่ได้นี้เท่ากับ 0 ทด 1
ab[j]=0;
c[0]=1;
}else{
ab[j]=1; //ถ้าผลลัพธ์ก่อนหน้าไม่มีตัวทด ให้ผลลัพธ์ที่ได้นี้เท่ากับ 1
}
c[1]=c[0]; //ให้ค่า c[1] = c[0] คือ ให้รีเซ็ตค่า c[1] เท่ากับ c[0]
}
i = i-1;
j = j-1;
}
if(c[1]==1){ //ถ้าบวกกันแล้วเหลือตัวทด 1 ให้ ab เก็บค่า 1 สร้างหลักใหม่
ab[j]=1;
}
j = 0; //ให้ค่า j = 0 เริ่มที่หลักหน้าสุด
int x = 35; //ประกาศและกำหนดค่า x
while(j<ab.length){ //สร้างลูป ให้ค่า j น้อยกว่า ค่าความยาว ab
if(ab[j]==1){ //ถ้าค่า ab เป็น 1 ให้ลงสีดำ
fill(0);
}else{ //ถ้าไม่ใช่ ให้ลงสีขาว
fill(255);
}
ellipse(x+40,150,50,50); //วาดวงกลม
print(ab[j]);
x = x+50; //เพิ่มค่า x ภาพต่อไปจะเลื่อนไปทางขวา
j = j+1; //เพิ่มค่า j
}
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น