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


LIST ALL
Posted by 지상현2012-01-03 00:09:57, Hit : 5751
창조의 변수형에 대한 고찰
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
   창조에서 반올림하기 [1]
지상현 2013/01/05  4975
118
   컴퓨터에서 소수점을 표기하는 방식에 대해 [1]
지상현 2012/01/03  7471

   창조의 변수형에 대한 고찰 [1]
지상현 2012/01/03  5751
116
   창조 초보자들을 위한 아주 기본적인 사용법
김대명 2011/03/09  6196
115
   객체 배열을 정복해보자! [1]
지상현 2010/06/28  6935
114
   [0강] 그림판에 그림을 그려보자!
박종훈 2009/10/24  6596
113
     [1강] 그림과 관련된 객체
박종훈 2009/10/24  5730
112
       [2강] ㅎ그림판에 그림을 그리기 위해 준비단계
박종훈 2009/10/24  5939
111
   [수정!] 직선, 사각형, 타원, 원, 호, 현을 그려보자! [4]
박종훈 2009/05/10  6634
110
     [0강] ㅎ배경의 좌표 체계에 대해서 알아보자! [2]
박종훈 2009/10/24  6986
109
       [1강] 직선을 그려보자!
박종훈 2009/10/24  7697
108
         [2강] 사각형을 그려보자!
박종훈 2009/10/24  5593
107
           [3강] 타원을 그려보자! (원 포함)
박종훈 2009/10/24  8344
106
             [4강] 현, 호를 그려보자! [4]
박종훈 2009/10/24  6237
105
     호현계산기2 Rev2 [6]
박종훈 2009/10/23  5842
104
   기타 자료실에 있는 다람쥐어 (파악해 보자_) [2]
김제형 2009/05/03  5749
103
   맞짱! 포인터(Pointer) - 3부 [창조에서 포인터를 사용해보자!] ... 제작중
박종훈 2009/02/26  5909
102
   맞짱! 포인터(Pointer) - 2부 [C언어 포인터 존재를 확인하자!]
박종훈 2009/02/26  7254
101
   맞짱! 포인터(Pointer) - 1부 [C언어 들춰보자!] [7]
박종훈 2009/02/26  6241
100
   자연수들의 합 쉽게 구하는 방법(수학과 프로그래밍) [7]
박종훈 2009/02/15  6096
99
   창조입문 : 메모장 만들기 [2]
신용주 2008/12/20  7515
98
   창조와 ActiveX (2)
지상현 2007/08/11  10760
97
   창조와 ActiveX (1)
지상현 2007/08/07  8242
96
   골칫거리 ㅎ사용자함수 DLL하나로 해결하기! [7]
박종훈 2007/06/23  7079
95
   환경파일로 파워유저되어보자![개정판] [예제/사용!] 2 [6]
박종훈 2007/01/02  7737
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이희철
로그인