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


LIST ALL
Posted by 지상현2012-01-03 00:09:57, Hit : 5781
창조의 변수형에 대한 고찰
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
119
   효과적인 조건문을 위한 논리연산자 [4]
박종훈 2006/10/15  6039
118
   환경파일로 파워유저되어보자![개정판] [예제/사용!] 2 [6]
박종훈 2007/01/02  7764
117
   환경파일로 파워유저되어보자![개정판] [설명] 1 -- 완성
박종훈 2007/01/02  6110
116
       환경문 강좌..^^; [진리형 자료] [1]
qkrwhdgns 2006/01/11  5020
115
         환경문 강좌..^^; [예제 소스]
qkrwhdgns 2006/01/11  5281
114
     환경문 강좌..^^; [실수형 자료] [1]
qkrwhdgns 2006/01/11  5250
113
   환경문 강좌..^^; [문자형 자료] [8]
qkrwhdgns 2006/01/10  5638
112
     호현계산기2 Rev2 [6]
박종훈 2009/10/23  5870
111
   한글이 입력되기까지 [4]
지상현 2006/07/29  6471
110
   컴퓨터에서 소수점을 표기하는 방식에 대해 [1]
지상현 2012/01/03  7512
109
   창조입문. :창조란 무엇인가?&CDP만들기: [9]
변혁수 2002/09/06  9941
108
   창조입문 : 메모장 만들기 [2]
신용주 2008/12/20  7550
107
   창조의 한계를 뛰어 넘어서 #1: '문자' 포인터 써먹기 [4]
지상현 2004/11/23  6936

   창조의 변수형에 대한 고찰 [1]
지상현 2012/01/03  5781
105
   창조와 ActiveX (2)
지상현 2007/08/11  10791
104
   창조와 ActiveX (1)
지상현 2007/08/07  8277
103
   창조에서 반올림하기 [1]
지상현 2013/01/05  5007
102
   창조로 빠져보는 API #3 [13]
지상현 2005/09/04  7267
101
   창조로 빠져보는 API #2 [3]
지상현 2005/09/04  6332
100
   창조로 빠져보는 API #1 [2]
지상현 2005/09/04  7047
99
   창조 초보자들을 위한 아주 기본적인 사용법
김대명 2011/03/09  6220
98
   창조 첫 시작시 명령어 익혀보자~ [4]
박종훈 2006/12/23  8043
97
   창조 시작단계 문법배워볼까? [M 0608181240] [8]
박종훈 2006/08/17  6513
96
   창조 로 만든 프로그램의 메모리 사용률을 낮춰보자 [2]
Pueding 2002/09/08  7092
95
   재미있는 포인터 강좌 -1- [2]
지상현 2005/10/12  6277
LIST ALL   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이희철
로그인