จากโพสก่อน จะเห็นได้ว่า bit และ byte นั้นมีขนาดที่ชัดเจนคือ
- หนึ่ง bit เก็บค่า 0 หรือ 1
- หนึ่ง byte เท่ากับ 8 bits
ในครั้งนี้เราจะมาดูความหมายของคำว่า word
คำว่า word นั้นเป็นหน่วยวัดขนาดข้อมูล ที่มีขนาดไม่แน่นอน โดยขึ้นอยู่กับ CPU ของคอมพิวเตอร์แต่ละเครื่อง นิยามของหนึ่ง word โดยทั่วไป คือ
"ขนาดของข้อมูลที่ CPU จะทำการคำนวณได้ในหนึ่งครั้ง"
เช่น
CPU ขนาด 16 bits ก็จะมี Word Size = 16 bits หรือ 2 bytes
CPU ขนาด 32 bits ก็จะมี Word Size = 32 bits หรือ 4 bytes
CPU ขนาด 64 bits ก็จะมี Word Size = 64 bits หรือ 8 bytes
ที่กล่าวข้างต้นเป็นความหมายของ word โดยทั่วไป แต่ในเชิง Programming บน Microsoft Windows หรือบน Intel CPU แล้ว คำว่า word มีอีกความหมายหนึ่งที่ไม่ผูกกับขนาดของ CPU กล่าวคือ Intel กับ Microsoft กำหนดให้
word = 2 bytes
doubleword = 4 bytes
quadword = 8 bytes
สาเหตุที่กำหนดตายตัวเช่นนี้เพราะพัฒนาการของ CPU ตอนที่มีขนาด 16 bit ก็ได้กำหนดให้ word = 16 bits หรือ 2 bytes ทีนี้ช่วงเปลี่ยนผ่าน ที่มี CPU ทั้งแบบ 16 bits และ 32 bits การใช้คำว่า word หากตีความตามขนาดของ CPU จะเกิดปัญหาในการคุยกัน จึงกำหนดตายตัวไปเช่นนี้เลย
หลังจากนั้นเมื่อ CPU มีขนาด 64 bits จึงกำหนดคำศัพท์เพิ่มคือ quadword = 8 bytes
มอง CPU อีกค่ายหนึ่งบ้างคือค่าย ARM Architecture ทางค่ายนี้กำหนดให้
word = 4 bytes
doubleword = 8 bytes
เหตุผลตรงนี้ก็น่าจะมาจากการที่ ARM เริ่มพัฒนามาก็มี CPU ขนาด 32 bits เลยตั้งแต่ต้นนั่นเอง
ดังนั้นสรุปว่าคำว่า word นั้นมีความหมายต่าง ๆ กันไป ขึ้นอยู่กับว่าเราเขียนโปรแกรมอยู่บน CPU ค่ายใด หรือเป็นการพูดในภาพรวม จึงต้องระวังในการสื่อความหมายครับ ไม่เหมือนคำว่า bit กับ byte ซึ่งมีความหมายที่ตายตัวแน่นอน