การสร้างตัวแปรสำหรับจำนวนเต็มใน VEXcode Pro V5

The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.

VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.

ประเภทที่เก็บจำนวนเต็ม: char, short, int, long, long long

ลองมาดูตัวอย่างบางส่วน:

ถ่าน cvar = 50;
ถ่าน cvar = 50;
สวาร์สั้น = 50;
int ivar = 50;
ยาว lvar1 = 50;
ยาว lvar2 = 50;

ตัวดำเนินการทางคณิตศาสตร์พื้นฐาน:

ส่วนใหญ่คุ้นเคยกับตัวดำเนินการทางคณิตศาสตร์พื้นฐานและลำดับก่อนหน้า: + , -, *, /

นี่คือตัวอย่างบางส่วนของวิธีใช้ตัวดำเนินการ Unary: ++ และ --:

การแสดงออก เทียบเท่ากับ ยังเทียบเท่ากับ
ซีวาร์ += 5; ซีวาร์ = ซีวาร์ + 5;  
++ซีวาร์; ซีวาร์++; ซีวาร์ = ซีวาร์ + 1;
--ซีวาร์; ซีวาร์--; ซีวาร์ = ซีวาร์ - 1;

ระวังตัวแปร++ กับ ++ตัวแปร!

++ตัวแปร

int x = 10, y = 20; 
X = ++y;

หมายเหตุ: หลังจากการดำเนินการนี้: X = 21 และ Y = 21 ด้วย

ตัวแปร++

int x = 10, y = 20; 
X = ย++;

หมายเหตุ: หลังจากการดำเนินการนี้: X = 20 และ Y = 21


เปรียบเทียบชนิดข้อมูลจำนวนเต็ม

มีกลุ่มหรือประเภทข้อมูลที่อนุญาตทั้งค่าบวกและค่าลบ – “ลงนาม” อย่างไรก็ตาม คุณไม่จำเป็นต้องระบุสิ่งนั้นเนื่องจากเป็นนัย ดูด้านล่าง:

ประเภทข้อมูล ค่าที่น้อยที่สุด ค่าที่ใหญ่ที่สุด
ถ่าน -2 7 หรือ -128 2 7 - 1 หรือ 127
สั้น -2 15 หรือ -32,768 2 15 - 1 หรือ 32,767
ภายใน -2 31 หรือ -2,147,483,648 2 31 – 1 หรือ 2,147,483,647
ยาว -2 31 หรือ -2,147,483,648 2 31 – 1 หรือ 2,147,483,647
ยาวยาว -2 63 หรือ -9,223,372,036,854,775,808 2 63 – 1 หรือ 9,223,372,036,854,775,807

มีกลุ่มหรือประเภทข้อมูลที่อนุญาตเฉพาะค่าบวก - "ไม่ได้ลงนาม"

ประเภทข้อมูล ค่าที่น้อยที่สุด ค่าที่ใหญ่ที่สุด
ถ่านที่ไม่ได้ลงนาม 0 2 8 - 1 หรือ 255
สั้นที่ไม่ได้ลงนาม 0 2 16 - 1 หรือ 65,535
int ที่ไม่ได้ลงนาม 0 2 32 – 1 หรือ 4,294,967,295
ยาวไม่ได้ลงนาม 0 2 32 – 1 หรือ 4,294,967,295
ไม่ได้ลงนาม ยาว ยาว 0 2 64 – 1 หรือ 18,446,744,073,709,551,615

คุณจะตรวจสอบขนาดข้อมูลได้อย่างไร?

ในตอนนี้ คุณควรทราบตัวดำเนินการ sizeof( ) นี่เป็นหน่วยเก็บข้อมูลหน่วยความจำที่เรียกว่า "ไบต์" ซึ่งจะกล่าวถึงเล็กน้อยในส่วนถัดไป

ตัวอย่างที่จะบอกคุณว่า # ของไบต์ควรพิมพ์โดยใช้ตัวดำเนินการ sizeof() ลองใช้สิ่งนี้เพื่อตรวจสอบด้วยตนเอง หากคุณเปลี่ยนไปใช้คอนโทรลเลอร์อื่น คุณสามารถทำสิ่งต่อไปนี้เพื่อตรวจสอบได้เสมอ

Brain.Screen.setFont(fontType::mono30);    
Brain.Screen.printAt(1, 20,"char มี %d ไบต์", ขนาดของ (char));
Brain.Screen.printAt (1, 50, "สั้นมี %d ไบต์", ขนาดของ (สั้น)); 
Brain.Screen.printAt(1, 80,"int มี %d ไบต์", ขนาดของ (int));
Brain.Screen.printAt(1, 110, "long มี %d ไบต์", ขนาดของ (ยาว));
Brain.Screen.printAt(1, 140, "long long มี %d ไบต์", ขนาดของ (long long));
Brain.Screen.printAt(1, 170, "float มี %d ไบต์", ขนาดของ (float));
Brain.Screen.printAt(1, 200, "double มี %d ไบต์", ขนาดของ (double));

แผนภาพแสดงคุณลักษณะและความสามารถการเขียนโปรแกรมของระบบหุ่นยนต์ V5 โดยเน้นส่วนประกอบหลักและฟังก์ชันต่างๆ ในรูปแบบที่ชัดเจนและเป็นระเบียบ


ไบต์หมายถึงอะไร

“ไบต์” เป็นหน่วยมาตรฐานของการจัดเก็บข้อมูล

หนึ่งไบต์ = 8 บิต หนึ่งบิตเป็นหน่วยหน่วยความจำที่เล็กที่สุดซึ่งสามารถมีค่าได้เพียง 1 วินาทีและ 0 วินาที (ค่าไบนารี) แต่หน่วยหน่วยความจำที่เล็กที่สุดที่คุณสามารถรับได้จากระบบคือ 1 ไบต์ ดังนั้นคุณไม่สามารถขอ 1.5 ไบต์ ฯลฯ

มาดูชาร์กันดีกว่า สั้นพอที่จะแสดงได้อย่างง่ายดาย

แผนภาพแสดงคุณลักษณะการเขียนโปรแกรมของระบบหุ่นยนต์ V5 โดยเน้นที่ส่วนประกอบที่สำคัญและฟังก์ชันของส่วนประกอบเหล่านั้น

หากเต็มไปด้วย 1 คุณจะได้ 28-1 ค่านี้ควรเป็นค่าสูงสุดของ "ถ่านที่ไม่ได้ลงนาม" ที่ควรเก็บไว้

แผนภาพแสดงความสามารถการเขียนโปรแกรมของหุ่นยนต์ V5 แสดงให้เห็นเซ็นเซอร์ มอเตอร์ และการเชื่อมต่อต่างๆ เพื่อการเข้ารหัสและควบคุมที่มีประสิทธิภาพ

ระบบขอสงวน บิตลำดับสูงสุด เพื่อให้ค่าลบ ดังนั้นค่าสูงสุดสำหรับ "ถ่าน" อยู่ในช่วงตั้งแต่ -128 ถึง 127 อย่างไรก็ตาม ความจุยังคงเหมือนกับ “ถ่านที่ไม่ได้ลงนาม” แม้ว่าช่วงข้อมูลจะแตกต่างกันก็ตาม

ในคอมพิวเตอร์ จะใช้การดำเนินการที่เรียกว่า Two's Complement นี่เป็นส่วนหนึ่งของหัวข้อภายใต้การดำเนินการของ Bitwise ซึ่งอยู่นอกขอบเขตสำหรับเอกสารนี้ เพิ่มเติมเกี่ยวกับหัวข้อนี้จะกล่าวถึงในเอกสารอื่น


ความแตกต่างระหว่าง char กับ int คืออะไร?

ต่อไปนี้เป็นการใช้งานทั่วไปสำหรับ "char" และ "int":

ถ่าน var1 = '9'; 
int var2 = 9;

เป็นความเข้าใจผิดที่พบบ่อยว่า "char" สามารถเก็บได้เฉพาะสัญลักษณ์เช่น 'a' 'b' หรือ '9' เท่านั้น นั่นไม่ถูกต้อง

ที่จริงแล้ว ประเภท "char" จะเหมือนกับประเภท "int" ยกเว้นว่าความจุของ char นั้นมีเพียง 1 ไบต์ และความจุของ int คือ 4 ไบต์ ดังนั้นช่วงขนาดข้อมูลจึงแตกต่างกันระหว่างทั้งสอง คุณจะเห็นได้ว่าในตารางช่วงข้อมูลด้านบน

ส่วนของโค้ดต่อไปนี้จะช่วยให้คุณมองเห็น char และ int ได้ชัดเจนยิ่งขึ้น

int iX = '0';
  ถ่าน cX1 = 49;
  ถ่าน cX2 = 50; 

  Brain.Screen.printAt(3, 20, "int การแสดงของ '%c' =  %d", iX, iX);
  Brain.Screen.printAt(3, 50, "int การแสดงของ '%c' =  %d",cX1, cX1);
  Brain.Screen.printAt(3, 80, "int การแสดงของ '%c' =  %d",cX2, cX2);
  Brain.Screen.printAt(3, 140, "ดังนั้น '%c' - '%c' =  %d ", cX2, iX, cX2 - cX1);

เอาท์พุท:

การแทนค่า int ของ '0' = 48
การแทนค่า int ของ '1' = 49
การแทนค่า int ของ '2' = 50

ดังนั้น '2' – '0' = 1

คุณอาจสงสัยว่า: ทำไม '0' ถึงแสดง 48?

ซึ่งจะนำไปสู่หัวข้อที่เรียกว่าการแปลง "รหัส ASCII" มาตรฐาน ASCII เป็นหนึ่งในเหตุการณ์สำคัญที่สำคัญของ IEEE ที่เผยแพร่ในปี 1963 สิ่งนี้อยู่นอกขอบเขตของบทความนี้ ขอแนะนำให้คุณค้นหาตารางรหัส ASCII ทางออนไลน์ คุณจะพบข้อมูลออนไลน์มากมายเกี่ยวกับตารางรหัส ASCII

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: