본문 바로가기

보고서/10월 업무일지

10월 18일 업무일지

int A = 0x12345678;

 7  8  5 6 3  4  1  2

Little endian : end(78)의 주소값이 start(12)보다 작다.
<-> Big endian

#include <stdio.h>

int main()
{
  //unsigned int A=0x88563412;
  
  //unsigned int A=0xC2ED4000; //-118.635
  
  //unsigned int A=0x3F800000; //1
  
  //unsigned int A=0x40000000; //2
  
  //unsigned int A=0x40800000;  //4
  
  //unsigned int A=0x41000000;  //8
  
  unsigned int A=0x41800000;  //16
  
  unsigned short *sp=(short *)&A;  //(short *)를 붙여서 warning을 없앤다. 캐스팅을 하여 자료형을
                                     맞춘다.
  unsigned char *cp=(char *)&A;   //unsigned char *cp *앞의 char는 가리키는 대상이 몇바이트인지
                                    (어떤의미인지) 가리킨다.
  unsigned int *ip=&A;
  float *fp=(float *)&A;  
  
  
  printf("%X\n",A);
  printf("%X\n",*sp);
  printf("%X\n",*cp);
  printf("%x\n",*ip);
  printf("%f\n",*fp);
  
  return 0;
}

실수를 표현하는 방식은 정수를 표현하는 방식과 다르므로 확인해야한다.

C프로그램 실수출력 방식



'보고서 > 10월 업무일지' 카테고리의 다른 글

10월 20일 ATMEGA  (0) 2010.10.20
10월 19일 업무일지  (0) 2010.10.19
10월 14일 업무일지  (0) 2010.10.14
10월 13일 업무일지  (0) 2010.10.13
10월 12일 업무일지  (0) 2010.10.12