|
float 형은 4바이트 아닙니까;;
그리고 16진수 30 00 40 7A 를 float 형에 넣으려면,
float variable = 0x3000407A; 하면 되는데요 ㅎㅎ
방태윤 님이 쓰신 글 :
: 질문 해석이 더 어렵네요...리플 달린거보고 단서를 잡았습니다.ㅋㅋ
:
:
: 님이 말씀하시는 3D 75 C2 8F 는 메모리에 있는 값인가 봅니다.
:
: float 형이니까 정확하게는 00 00 00 00 3D 75 C2 8F 로 8 바이트겠지요,.
:
: 이 값을 내 변수에 사용할려면
:
: 8 자리 값을 뒤집어줘여 합니다...
:
:
: 간단히 예로 short a=0x1122 를 우리가 프로그램애서 사용하면 실제 메모리 들여다보면 22 11 으로 들어가 있습니다.
:
: 그러므로 꺼네올때는 뒤집어 줘야겠죠,,,자세한것은 검색을 해 보시고요 ...
:
:
: 그러므로
:
: 님의 경우
:
: unsigned char buf[8];
:
: buf[7]=0x0;
: buf[6]=0x0;
: buf[5]=0x0;
: buf[4]=0x0;
: buf[3]=0x3D;
: buf[2]=0x75;
: buf[1]=0xC2;
: buf[0]=0x8F;
:
: float*n1;
: unsigned char*t=&(buf[0]);
: n1=(float*)t;
: float n2=*n1;
:
: 그러면 n2 에 원하는 값이 들어옵니다.
:
: 간단하게 하면 float n3=*(float*)buf;
:
: 저걸 해주는 함수가 있었던것 같기도 한데...검색 합 해보세요,.,
:
:
:
: 초보빌더 님이 쓰신 글 :
: : 빌더를 접한지 얼마안되서 이런 부분은 잘 모르겠네요.
: :
: : 4byte HEX값을 float형 값으로 변환해야 하는데 당췌 어찌해야할지...
: :
: : 검색해봐두 잘 모르겠네여..
: :
: : 고수님들 좀 알려주세요~
: :
: : 예) 30 00 40 7A
: :
: : 위 예를 4byte를 변환하는 방법 좀...
|