หน้าเว็บ

วันเสาร์ที่ 7 มกราคม พ.ศ. 2555

Big endian VS Little endian

        สมมติว่าเรามีแอดเดรสเป็นเลขฐาน 16 ดังนี้
0x00fc45c7
ข้อมูลนี้มีขนาด 4 ไบต์  เรียกว่า 1 WORD 

        Big endian byte order คือ  แอดเดรสที่มีความสำคัญสูงสุดหรือว่ามากที่สุดจะถูกเก็บก่อน
สมมติเราให้แสดงผลแอดเดรสทีละ 1 ไบต์  มันจะแสดงผลดังนี้
0x00  0xfc  0x45  0xc7

# สังเกตว่าไบต์  0x00 ซึ่งมีความสำคัญสูงสุดจะถูกเก็บก่อน

         Little endian byte order คือ  แอดเดรสที่มีความสำคัญต่ำสุดหรือว่าน้อยที่สุดจะถูกเก็บก่อน
มันจะแสดงผลดังนี้
0xc7  0x45  0xfc  0x00
สังเกตว่ามันจะสลับกันกับ Big endian

###หน่วยความจำของโปรเซสเซอร์  intel x86  จะเก็บแบบ   Little endian byte order  ***


ตัวอย่างการเก็บแบบ   Little endian byte order  
ทดสอบโดยใช้โปรแกรม gdb  ของ linux  (ทดสอบใน linux ubuntu 11.10  CPU intel core 2 duo P8400)



ไม่มีความคิดเห็น:

แสดงความคิดเห็น