Byte (ไบต์) หมายถึง หน่วยของข้อมูลที่เป็นเลขฐานสองจำนวน 8 หลัก หรือ 8 บิต ใช้แทนข้อมูลที่เป็นตัวอักษร ตัวเลข หรือสัญลักษณ์ต่างๆ เพียง 1 ตัว ตามรหัส ASCII เช่น A B C ก ข ค ง ฯลฯ เป็นต้น โดย 8 บิตเท่ากับ 1 ไบต์ ไบต์จึงเป็นหน่วยข้อมูลที่มีขนาดใหญ่กว่าบิทและนิยมใช้เป็นหน่วยวัดความจุในการเก็บข้อมูลในคอมพิวเตอร์หรือสื่อบันทึกข้อมูลด้วย หน่วยความจำของคอมพิวเตอร์ นิยมวัดเป็น Kilobyte (กิโลไบต์) Megabyte(เมกะไบต์) Gigabyte (จิกะไบต์) และ Terabyte (เทระไบต์) และในบทความนี้เราจะมาพูดถึงการเปลี่ยนหน่วยของขนาดไฟล์ให้เหมาะสม โดยรับข้อมูลเข้ามาในหน่วยไบต์ แล้วเปรียบเทียบว่าสามารถเปลี่ยนเป็นหน่วยใหญ่ที่สุดหน่วยใดได้ บน Python กัน
โดยจำนวนไบต์ของแต่ละหน่วยจะเป็นดังตารางนี้
หน่วย | จำนวนไบต์ |
KB | 1,024 |
MB | 1,048,576 |
GB | 1,073,741,824 |
TB | 1,099,511,627,776 |
นอกจากนี้แล้วยังมี Petabyte(เพตะไบต์) Exabyte(เอกซะไบต์) Zettabyte(เซตตะไบต์) และ Yottabyte(ยอตตะไบต์) แต่ในปัจจุบันยังไม่มีสื่อบันทึกข้อมูลใดที่สามารถเก็บข้อมูลได้มากขนาดนั้น
ตัวอย่างโค้ดในการคำนวณ
เพื่อทำการเปรียบเทียบวว่าสามารถเปลี่ยนเป็นหน่วยที่ใหญ่ที่สุดใดได้บ้าง
# -*- coding=utf8 -*-
size = float(input('ขนาดของไฟล์(ไบต์):'))
unit = ''
if size >= 1099511627776: #ถ้าขนาดมากกว่าหรือเท่ากับ 1,099,511,627,776 ให้แปลงเป็นหน่วย TB
size /= 1099511627776
unit = 'TB'
elif size >= 1073741824: #ถ้าขนาดมากกว่าหรือเท่ากับ 1,073,741,824 ให้แปลงเป็นหน่วย GB
size /= 1073741824
unit = 'GB'
elif size >= 1048576: #ถ้าขนาดมากกว่าหรือเท่ากับ 1,048,576 ให้แปลงเป็นหน่วย MB
size /= 1048576
unit = 'MB'
elif size >= 1024: #ถ้าขนาดมากกว่าหรือเท่ากับ 1024 ให้แปลงเป็นหน่วย KB
size /= 1024
unit = 'KB'
else:
unit = 'Byte'
print 'แปลงเป็นหน่วยที่เหมาะสมได้ประมาณ :',format(size,'.2f'),unit
ตัวอย่าง

เมื่อเราได้ทำการใส่ข้อมูลเข้าไป ระบบก็จะทำการคำนวณจากตัวเลขเหล่านั้น ซึ่งในตัวอย่างจะเป็นการใส่ค่า 1,199,511,627,776 ก็จะตรงกับเงื่อนไขแรกที่เรากำหนด คือ ถ้ามีขนาดมากกว่า 1,099,511,627,776 ก็จะทำการแปลงเป็นหน่วย TB และหารตัวเลขด้วยค่านั้นๆ
เพียงเท่านี้เราก็สามารถแปลงตัวเลขของขนาด เช่น ขนาดไฟล์ จากหน่วยไบต์ให้เป็นหน่วยให้เป็นหน่วยที่ใหญ่กว่า เพื่อจะได้เหมาะสมกับข้อมูลต่างๆ และทำให้เราสามารถอ่านค่าของพื้นที่นั้นได้ง่ายมากยิ่งขึ้นอีกด้วย
ช่องทางการศึกษาเพิ่มเติมเกี่ยวกับ : Python
การรับค่าจากแป้นพิมพ์ใน Python (ไพทอน)
คำสั่งขึ้นบรรทัดใหม่ (\n) ในภาษาโปรแกรม Python (ไพธอน)
ช่วงการทำงาน IF ในไพทอน Statement block if Statement Selection