"엔디언, 빅엔디언, 리틀엔디언"의 두 판 사이의 차이

1번째 줄: 1번째 줄:
==개요==
;endianness
;Little Endian, Big Endian
;엔디언
;리들엔디언, 빅엔디언
 
;big-endian, little-endian
;빅엔디언, 리틀엔디언
 
==엔디언==
* Byte Order과 연관된 개념
* Byte Order과 연관된 개념
* 엔디언은 메모리의 배열하는 방법
* 엔디언은 메모리의 배열하는 방법
* 리틀 엔디안은 메모리 증가 방향과 반대로 저장
 
* 빅 엔디안은 메모리 증가 방향과 동일하게 저장
==빅엔디언, 리틀엔디언==
* 빅 엔디언 - 메모리 증가 방향과 동일하게 저장
* 리틀 엔디언 - 메모리 증가 방향과 반대로 저장


{| class='wikitable'
{| class='wikitable'
31번째 줄: 37번째 줄:
// 리눅스에서는 실제 값과 메모리 순서값이 반대로 저장되어 있는 리틀엔디언 방식
// 리눅스에서는 실제 값과 메모리 순서값이 반대로 저장되어 있는 리틀엔디언 방식
</source>
</source>
==참고 자료==
* https://ko.wikipedia.org/wiki/엔디언


[[분류: C]]
[[분류: C]]
[[분류: 메모리]]
[[분류: 메모리]]

2016년 6월 23일 (목) 13:12 판

endianness
엔디언
big-endian, little-endian
빅엔디언, 리틀엔디언

1 엔디언

  • Byte Order과 연관된 개념
  • 엔디언은 메모리의 배열하는 방법

2 빅엔디언, 리틀엔디언

  • 빅 엔디언 - 메모리 증가 방향과 동일하게 저장
  • 리틀 엔디언 - 메모리 증가 방향과 반대로 저장
C언어 표현 C언어 값 빅 엔디언 리틀 엔디언
int i = 255 00 00 00 FF 00 00 00 FF FF 00 00 00

3 리눅스 시스템 엔디언 방식 증명

#include <stdio.h>

void main()
{
    int a = 255;
    char *pC = (char *)&a;
    int i;

    for (i = 0; i < sizeof(a); i++)
    {
        printf("%02x ", (unsigned char)*pC++);
    }
}
// ff 00 00 00 
// 리눅스에서는 실제 값과 메모리 순서값이 반대로 저장되어 있는 리틀엔디언 방식

4 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}