==========================================================================================

제어

=======================================================================================


=자료형 (data type)

변수선언(정의)


 size(byte)

type 

범위 

 1

char 

  정수

 2

short

 4

 int

 4

 long

 4

 float

 실수

 8

 double


=실수의 저장

float 7.25 저장


7.25(10) = 111.01(2)

111.01 => 정규화 => 1.1101 x 2^2

지수부 - 127 = 2 => 지수부 = 129


 40

E8

 00

 00


01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

0

1

0

0

0

0

0

0

1

1

1

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

지수부

129 

가수부

1101 (소수점 뒷자리)


 00

00

 E8

 40

=>실제 저장(LITTLE ENDIAN)

=확인용 코드

#include <stdio.h>

int main()
{
  
float fNum;
  
unsigned char * ucP;

  fNum 
= 7.25;
  ucP 
= (unsigned char *)&fNum;

  printf(
"%02X\n", *ucP);
  ucP 
= ucP + 1;
  printf(
"%02X\n", *ucP);
  ucP 
= ucP + 1;
  printf(
"%02X\n", *ucP);
  ucP 
= ucP + 1;
  printf(
"%02X\n", *ucP);
  
  
return 0;
}





=>FLOAT 계산 속도 >  정수형 계산속도


=I/O

 Output

Input 

 printf

scanf 



=scanf("입력받을 형“,입력받을 변수의 주소)




#include <stdio.h>

int main()
{
  
int iNum;

  printf(
"입력 : ");
  scanf(
"%d",&iNum); // Input - scanf("형",변수의주소)
  printf("출력 :[%d]\n",iNum);

  
return 0;
}






=키보드 입력 후 엔터




=출력할 구구단 입력받아 구구단 출력하기

#include <stdio.h>

int main()
{
  
int iNum;

  printf(
"출력 할 구구단 입력 : ");
  scanf(
"%d",&iNum); // Input - scanf("형",변수의주소)
  printf("구구단 [%d]단 출력\n",iNum);
  printf(
"%d * 1 = %2d\n",iNum,iNum*1);
  printf(
"%d * 2 = %2d\n",iNum,iNum*2);
  printf(
"%d * 3 = %2d\n",iNum,iNum*3);
  printf(
"%d * 4 = %2d\n",iNum,iNum*4);
  printf(
"%d * 5 = %2d\n",iNum,iNum*5);
  printf(
"%d * 6 = %2d\n",iNum,iNum*6);
  printf(
"%d * 7 = %2d\n",iNum,iNum*7);
  printf(
"%d * 8 = %2d\n",iNum,iNum*8);
  printf(
"%d * 9 = %2d\n",iNum,iNum*9);

  
return 0;
}






=배열(Array) : 연결되어있음


 Smart[0]

  Smart[1]

  Smart[2]

  Smart[3]

  Smart[4]

 33FE2C

33FE30 

33FE34 

33FE38 

33FE3C 

 4byte

 4byte

 4byte

 4byte

 4byte

 20byte



#include <stdio.h>

int main()
{
  
//int Smart; // 4byte
  int Smart[5]; //20byte = 4byte X 5개
  
  printf(
"Smart[0] 주소 : %08X\n",&Smart[0]);
  printf(
"Smart[1] 주소 : %08X\n",&Smart[1]);
  printf(
"Smart[2] 주소 : %08X\n",&Smart[2]);
  printf(
"Smart[3] 주소 : %08X\n",&Smart[3]);
  printf(
"Smart[4] 주소 : %08X\n",&Smart[4]);
  
  
return 0;
}



=값 입력/출력

#include <stdio.h>

int main()
{
  
//int Smart; // 4byte
  int Smart[5]; //20byte = 4byte X 5개
  
  printf(
"Smart[0] 주소 : %08X\n",&Smart[0]);
  printf(
"Smart[1] 주소 : %08X\n",&Smart[1]);
  printf(
"Smart[2] 주소 : %08X\n",&Smart[2]);
  printf(
"Smart[3] 주소 : %08X\n",&Smart[3]);
  printf(
"Smart[4] 주소 : %08X\n",&Smart[4]);
  
  Smart[
0=1;
  Smart[
1=2;  
  Smart[
2=3;
  Smart[
3=4;
  Smart[
4=5;

  printf(
"Smart[0]   값 : %d\n",Smart[0]);
  printf(
"Smart[1]   값 : %d\n",Smart[1]);
  printf(
"Smart[2]   값 : %d\n",Smart[2]);
  printf(
"Smart[3]   값 : %d\n",Smart[3]);
  printf(
"Smart[4]   값 : %d\n",Smart[4]);

  
return 0;
}




=>cl 컴파일은 완료 => run time error (실행 중 에러)

=>컴파일러는 못 찾음 => 배열 코딩 주의

=>c언어 => 시스템 자체가 문제생길 수 있음

=>java언어 => JVM이 죽음(JVM에서 CPU로 넘기므로) => 시스템 자체에는 문제 없음


=문자  배열 : 끝에 0이 없다(charactor)


#include <stdio.h>

int main()
{
  
char Smart[4];

  Smart[
0='A';
  Smart[
1='B';  
  Smart[
2='C';
  Smart[
3='D';

  printf(
"Smart[0]   값 : %c\n",Smart[0]);
  printf(
"Smart[1]   값 : %c\n",Smart[1]);
  printf(
"Smart[2]   값 : %c\n",Smart[2]);
  printf(
"Smart[3]   값 : %c\n",Smart[3]);

  
return 0;
}



=문자열 배열 : 끝에 0 이 있다.(String)

=>0을 만날때까지 화면에 출력 => 0이 없으면 문제 생김






=STRING 한번에 대입


#include <stdio.h>

int main()
{   

  char Text[5= "XYZ1"// 'X''Y''Z''1'0

  printf("[%s]\n",Text); // 문자열 출력 (string)

  return 0;
}




=한글

-초창기 도깨비칩 => 굼벵이 속도

-아스키코드 7bit

 0~127

 128~ : 확장형

-2byte 로


#include <stdio.h>

int main()
{

  
char Text[7= "홍길동"// '홍''길''동'0 : 한글 2byte * 3 + 1(0) = 7byte

  printf("[%s]\n",Text); // 문자열 출력 (string)

  return 0;
}






==========================================================================================

회로

=======================================================================================


=모터제어


'2015 스마트 콘트롤러 > 업무일지' 카테고리의 다른 글

20150210  (0) 2015.02.10
20150209  (0) 2015.02.09
20150205  (0) 2015.02.05
20150204  (0) 2015.02.04
20150203  (0) 2015.02.03
Posted by ahj333
,