C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[70037] Re:Re:Litte Endian 방식과 Big Endian 방식 질문좀 드려요
질문자 [] 4360 읽음    2013-08-23 13:19
int nNum = 12345678;

int nNum1 = htonl(nNum);
int nNum3 = ntohl(nNum1);

double dNum = 12345678.12345678;

double dNum1 = htonl(dNum);
double dNum3 = ntohl(dNum1);

Memo1->Lines->Add(nNum);
Memo1->Lines->Add(nNum1);
Memo1->Lines->Add(nNum3);
Memo1->Lines->Add("");
Memo1->Lines->Add(dNum);
Memo1->Lines->Add(dNum1);
Memo1->Lines->Add(dNum3);

테스트를 해봤는데 인트형은 제대로 나오고
실수형은 소수점 밑에는 싹 없어져서 출력이 됐네요
실수형까지 하고 싶은데 어떻게 해야할까요?




빌더이상해 님이 쓰신 글 :
: 엔디안에 대한 개념이 약간 다르신것 같습니다.
: 엔디안은 문자냐 숫자냐에 따라 뒤집고 아니고가 아닙니다. 그래서 헷갈리시는듯 하네요
: 엔디안은 데이터가 메모리에 저장되는 바이트단위 순서입니다.
:
: 중요한건 바이트단위입니다. 해서 문자나 문자열은 상관없다??고 생각하실 수 있겠네요
: int형은 4바이트이므로 1,2,3,4 를 4,3,2,1로 변환하시면 됩니다.
: short은 2바이트이므로 1,2를 2,1로 변환하시면 됩니다.
: signed 인지 unsigned인지는 중요하지 않습니다. 바이트단위 이니까요 ㅋ
: 마찬가지로 float형은 4바이트이므로 1,2,3,4를 4,3,2,1로 뒤집으시면 됩니다.
: 8바이트짜리는 1,2,3,4,5,6,7,8 을 8,7,6,5,4,3,2,1로 뒤집으시면 됩니다. 정수던 실수던 뭐던상관없이 바이트단위로 자료형의 크기만큼 뒤집으면 됩니다.
:
: 질문자 님이 쓰신 글 :
: : Litte Endian 방식과 Big Endian 방식은 문자나 문자열은 상관없고 숫자형만 순서를 뒤집어서 보내는 걸로 알고있는데
: :
: : 정수형은 htonl해서 보내면 제대로 보내지는데 실수형은 혹시 소수점 윗단과 아랫단을 나눠서 보내야 하는건지
: :
: : 궁금합니다. 아니면 한번에 다 해서 보내야 하는건지 알고 싶어요
: :
: :
: :

+ -

관련 글 리스트
70035 Litte Endian 방식과 Big Endian 방식 질문좀 드려요 질문자 2979 2013/08/23
70036     Re:Litte Endian 방식과 Big Endian 방식 질문좀 드려요 빌더이상해 3697 2013/08/23
70037         Re:Re:Litte Endian 방식과 Big Endian 방식 질문좀 드려요 질문자 4360 2013/08/23
70044             Re:Re:Re:Litte Endian 방식과 Big Endian 방식 질문좀 드려요 라스코니 3982 2013/08/26
70045                 Re:Re:Re:Re:Litte Endian 방식과 Big Endian 방식 질문좀 드려요 질문자 3936 2013/08/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.