วันนี้ย้อนกลับไปยังความรู้พื้นฐานของการเขียนโปรแกรม โดยสิ่งแรกที่ควรเรียนรู้คือ ชนิดของข้อมูล ท่านผู้อ่านจะเห็นว่าบทความที่ผ่านมาผมได้แสดงตัวอย่างการแก้ปัญหาในทางวิศวกรรมด้วยการใช้ฟังก์ชันและเขียน macro ใน Excel ซึ่งในโค้ดเหล่านั้นก็จะมีการกำหนดชนิดของข้อมูลต่างๆที่ถูกนำไปใช้ในการประมวลผลตามคำสั่ง ผมขอแสดงตารางชนิดของข้อมูลและขอบเขตการใช้งานของข้อมูล เนื่องจากว่า หากเลือกใช้งานข้อมูลผิดประเภทหรือไม่เหมาะสมแล้ว อาจก่อให้เกิดข้อผิดพลาดในการทำงานของชุดโปรแกรมได้ครับ
ประเภท | ชนิดข้อมูล | ใช้พื้นที่ในหน่วยความจำ(ไบต์) | ขอบเขตข้อมูลที่ใช้ |
ตัวเลข | Byte | 1 | จำนวนเต็มระหว่าง 0 - 255 |
Integer | 2 | จำนวนเต็มระหว่าง –32,768 – 32,767 | |
Long | 4 | จำนวนเต็มระหว่าง –2,147,483,648 ถึง 2,147,483,647 | |
Single | 4 | เลขทศนิยมระหว่าง –3.4028235E+38 ถึง –1.401298E-45 (กรณีค่าลบ) 1.401298E-45 ถึง 3.4028235E+38 (กรณีค่าบวก) | |
Double | 8 | เลขทศนิยมระหว่าง –1.79769313486231570E+308 ถึง –4.94065645841246544E-324 (กรณีค่าลบ) 4.94065645841246544E-324 ถึง1.79769313486231570E+308 (กรณีค่าบวก) | |
Currency | 8 | -922,337,203,685,477.5808 ถึง 922,337,203,685,477.5807 | |
ข้อความ | String | 10 + ความยาว String | เป็นข้อความมีความยาวตั้งแต่ 0 ถึง 2 พันล้านตัวอักษรซึ่งกำหนดค่าในเครื่องหมาย “ “ เช่น “Excel” |
วันและเวลา | Date | 8 | วันระหว่าง 1 มค คศ 100 ถึง 31 ธค คศ 9999 และเวลาระหว่าง 0:00:00 ถึง 23:59:59 |
Logic | Boolean | 2 | True กับ False |
ไม่กำหนดชนิด | Variant | ไม่แน่นอน | ขึ้นอยู่กับค่าที่ใช้เก็บ |
กำหนดโดยผู้ใช้ Object | User-define Object | ไม่แน่นอน 4 | ขึ้นอยู่กับผู้ใช้กำหนด สำหรับ Object |
จากตารางหากเราจะเห็นว่าชนิดข้อมูลแต่ละชนิดใช้พื้นที่ในหน่วยความจำในการจัดเก็บไม่เท่ากัน บางครั้งเราไม่มีความจำเป็นต้องใช้ชนิดข้อมูลที่ต้องใช้พื้นที่ใหญ่มาก เช่น ข้อมูลอายุของคน ซึ่งคงไม่เกิน 200 ปี เราอาจใช้ข้อมูลชนิด Integer หรือ byte ก็เพียงพอแล้วเป็นต้น
แม้ว่าท่านผู้อ่านหลายคนอาจจะมองว่าในปัจจุบันหน่วยความจำของคอมพิวเตอร์มีขนาดใหญ่มากไม่น่าจะก่อให้เกิดปัญหานี้ แต่อย่าลืมว่าคอมพิวเตอร์ของเรามิได้ประมวลผลข้อมูลเฉพาะโปรแกรมเราอย่างเดียว ซึ่งอาจก่อให้เกิดปัญหาหน่วยความจำไม่พอขึ้นได้ ดังนั้นการกำหนดชนิดข้อมูลที่เหมาะสมยังมีความจำเป็นและเป็นการฝึกวิเคราะห์โจทย์ปัญาในเบื้องต้นได้ดีอีกด้วย ขอจบการนำเสนอเพียงเท่านี้สวัสดีครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น