창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


LIST ALL
Posted by 지상현2012-01-03 00:09:57, Hit : 5786
창조의 변수형에 대한 고찰
Homepage : http://ssidang.x-y.net
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=open_lec&no=197
아-.
길게 쓰다가 그냥 다시 씁니다.


1. 실수

창조에서 실수는 IEEE 754 double-precision으로 보입니다.
이 표현 방법의 스펙은,
  • 메모리를 64비트 (8바이트) 사용합니다.
  • 표현 범위: 십진수로 약 15자리
  • 가장 작은 값: 2.23 x 10^308
  • 가장 큰 값: 1.80 x 10^308

십진수로, 숫자 15개 정도만 기억할 수 있습니다.

참고로 부동소수점 방식(IEEE 754)은 큰 수를 표현할수록 정밀도가 떨어집니다.
(예: 0.000000001 + 100000000 = 100000000.000000001 이 되지 않고 100000000 으로 잘린다든지)

단, 정수가 필요한 곳에는 자동으로 반올림됩니다.
예를 들어 픽셀 좌표는 정수 그리드인데, 10.5를 주면 11로 반올림되어 처리됩니다.

DLL 함수를 호출할 때도 반올림되어 처리됩니다.
즉 Api 함수 등에는 3.14 같은 소숫점을 넘길 수 없고, 넘기면 3 이란 정수값으로 반올림되어 넘겨집니다.



2. 문자

델파이에 있는 string 타입과 호환되는 파스칼 문자열입니다.
문자열의 길이 (32비트)와 실제 문자열 데이터를 가지고 있습니다.

따라서 C 문자열과 다르게, 문자열 안에 0 값 (Null-value)를 포함한 바이너리 데이터도 저장할 수 있으며, 문자열이 얼마나 길든 상관 없이 길이 구하는 시간이 일정합니다.

창조 기본 함수만 가지고 쓰면 문자열은 변경 불가(immutable)입니다.
문자열의 내용을 바꿀 수 없고, 바꾸려 시도하면 바뀐 내용을 가진 새 문자열이 만들어집니다.

예를 들면,
다 := 가 + 나;
에서 '가'와 '나' 내용을 합친 '다'라는 문자열이 새로 생기지만, '가'와 '나' 내용이 바뀌는 것은 아닙니다.
문자복사, 문자삭제 같은 함수를 쓸 때도 마찬가지이며, 문자열 다루면서 속도가 느려지는 주 원인이 되므로 주의해야 합니다.



3. 객체형

다른 언어에서는 참조형이라고도 하는 것입니다.
ㅎ창, ㅎ버튼 같은 변수인데, 창조에서는 제한적이지만 호환 가능한 객체형끼리 대입할 수 있습니다.
창조에서는 '생성해' 말고 새 객체가 만들어지지 않기 때문에 이런 경우를 제외하곤 객체에 직접 대입해선 안 됩니다.

잘못된 사용 예:
('버튼0' 있다고 했을 때)
버튼0 := "제목";

DLL 함수로 넘기면 32비트 포인터 값으로 넘어옵니다.

바람   2012-01-03 AM 2:11:11  
IEEE 754 double-precision... 이런것도 있었군요..
역시 프로그램 공부.. 어렵군요.ㅎ
LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
69
   [창조]#02. 변수에 대하여.. [5]
nylon 2002/09/08  6188
68
   [보충강좌#10-1] *.Res를 위한 *.Rc [1]
ps.이진백 2004/08/12  6164
67
   자연수들의 합 쉽게 구하는 방법(수학과 프로그래밍) [7]
박종훈 2009/02/15  6128
66
   환경파일로 파워유저되어보자![개정판] [설명] 1 -- 완성
박종훈 2007/01/02  6113
65
   [끼적강좌 8]RPG게임을 만들어보자 [1강] [3]
권선중 2005/07/16  6079
64
   [쉬운강좌]#3.레지스트리 막 건드리기. [3]
창조신화 2002/09/08  6055
63
   [강좌#4] 끝내와 닫아를 구분하자! [3]
ps.구루 2003/04/26  6053
62
   효과적인 조건문을 위한 논리연산자 [4]
박종훈 2006/10/15  6045
61
       [2강] ㅎ그림판에 그림을 그리기 위해 준비단계
박종훈 2009/10/24  5974
60
   [ps.구루 강좌#13] 창조에서는 델파이에서 만든 DLL만 가능합니까? [1]
이진백 2005/07/22  5969
59
   API를 알아보자 #3 [7]
지상현 2003/04/10  5969
58
   영문 윈도우에서의 창조로 만든 프로그램.. [16]
손상진 2005/01/02  5952
57
   미니강좌#1 [DLL없이 바탕화면 바꾸기] [5]
창조ⓕⓐⓝ 2003/01/13  5948
56
   맞짱! 포인터(Pointer) - 3부 [창조에서 포인터를 사용해보자!] ... 제작중
박종훈 2009/02/26  5936
55
   배열 강좌 [2차 배열, 3차 배열 까지]
Pueding 2004/02/21  5933
54
   [끼적강좌 3] 에디트 만들기[투명에디트] [1]
권선중 2004/02/09  5927
53
     호현계산기2 Rev2 [6]
박종훈 2009/10/23  5875
52
   [끼적강좌 4] 창조 구현 DB강좌 [1강] [5]
권선중 2004/07/25  5836
51
   스킨 적용 강좌 [1]
Pueding 2003/10/12  5824
50
   [강좌#2] 창조 오류 해부! [9]
ps.구루 2003/04/02  5801
49
   [창조x] 수줍은 pda프로그래밍시작
이진백 2006/09/11  5800

   창조의 변수형에 대한 고찰 [1]
지상현 2012/01/03  5786
47
   기타 자료실에 있는 다람쥐어 (파악해 보자_) [2]
김제형 2009/05/03  5778
46
     [1강] 그림과 관련된 객체
박종훈 2009/10/24  5764
45
     [re] [끼적강좌 8]RPG게임을 만들어보자 [2강] [1]
권선중 2005/07/17  5708
LIST ALL   Prev [1][2] 3 [4][5] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인