0902) 패스트리포트(FastReport) 3.0 / 4.0 매뉴얼 공부2011. 9. 2. 11:32
'공부' 카테고리의 다른 글
헨리홍 목사님 영발음 구구단 (0) | 2012.05.21 |
---|---|
(111230) Format (0) | 2011.12.30 |
0620) 델파이 예외 처리 (0) | 2011.06.20 |
0311) 자바 공부 홈피 주소 (0) | 2011.03.11 |
0222) MS 워드 단축키 모음 (0) | 2011.02.22 |
헨리홍 목사님 영발음 구구단 (0) | 2012.05.21 |
---|---|
(111230) Format (0) | 2011.12.30 |
0620) 델파이 예외 처리 (0) | 2011.06.20 |
0311) 자바 공부 홈피 주소 (0) | 2011.03.11 |
0222) MS 워드 단축키 모음 (0) | 2011.02.22 |
(111230) Format (0) | 2011.12.30 |
---|---|
0902) 패스트리포트(FastReport) 3.0 / 4.0 매뉴얼 (0) | 2011.09.02 |
0311) 자바 공부 홈피 주소 (0) | 2011.03.11 |
0222) MS 워드 단축키 모음 (0) | 2011.02.22 |
0207) 어셈블리 보충 (0) | 2011.02.07 |
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.
자료형 | 차지 바이트 | 주소 | 끝을 10진수로 | 실제 차이 |
int | 4 | bffffa38 | 2616 | |
int | 4 | bffffa34 | 2612 | ↓ 4 |
int | 4 | bffffa30 | 2608 | ↓ 4 |
int | 4 | bffffa2c | 2604 | ↓ 4 |
float | 4 | bffffa28 | 2600 | ↓ 4 |
float | 4 | bffffa24 | 2596 | ↓ 4 |
float | 4 | bffffa20 | 2592 | ↓ 4 |
float | 4 | bffffa1c | 2588 | ↓ 4 |
short | 2 | bffffa1a | 2586 | ↓ 2 |
char | 1 | bffffa19 | 2585 | ↓ 1 |
int * | 4 | bffffa14 | 2580 | ↓ 5 |
char | 1 | bffffa13 | 2579 | ↓ 1 |
char * | 4 | bffffa0c | 2572 | ↓ 7 |
0114) 머지 정렬 (0) | 2011.01.14 |
---|---|
getchar 와 putchar 에 대한 고찰 / 버퍼 / 스캔 코드 / printf , scanf 귀찮아~~ (0) | 2010.10.20 |
포인터와 캐스트 (0) | 2010.10.17 |
C언어 / 구구단 소스. (0) | 2010.10.17 |
논리 연산자 계산순서( || && ) / 증감 연산자 (0) | 2010.10.17 |
★ 포인터와 캐스트
float *fp 선언후에
fp=3;
이라고 한 뒤 컴파일 하면 warning이 뜬다. (파일 실행에는 이상 없음.)
왼쪽은 자료형이 float* 형이고
오른쪽 '3' 은 자동적으로 int형이라 양쪽의 자료형이 일치하지 않는다.
포인터형에 값을 초기화해줄때는 자료형이 같지 않다면 컴파일시 warning이 뜸.
>> 파일 실행에는 이상이 없음.
warning을 없애고 싶다면 양쪽의 자료형을 통일시켜주면 된다.
fp = (float*)3;
이렇게 하면 3이 자동으적으로 float형 포인터로 형 변환이 일어나서 warning이 없어진다.
만약에
int x;
int *xp;
xp = &x;
라고 정의를 했을 때에는
warning이 뜨지 않는다.
왼쪽의 xp는 *int 형이고
오른쪽의 x는 int형인데, &이 *로 인식되기때문에 결국 *int 형으로 인식되고
왼쪽과 오른쪽의 형이 같기 때문에 warning 이 뜨지 않는다.
변수명 앞에 * 가 있으면
ex) *iNum;
>> 1. 해당 변수가 있는지 확인
>> 2. 해당 변수가 포인터형인지 확인
>> 3. 포인터형이 아니라면 곱셈으로 치부
>> 곱셈은 다항연산자라, 항이 2개 필요 / 현재 항은 iNum하나만...
>> 컴파일시 에러 발생
★ iNum이 포인터형이라면 컴파일시에러 없음
ex) int iNum*;
*iNum;
포인터형 앞에 * 을 붙이면 해당 주소가 된다.
getchar 와 putchar 에 대한 고찰 / 버퍼 / 스캔 코드 / printf , scanf 귀찮아~~ (0) | 2010.10.20 |
---|---|
메모리에 저장할 때 최적화. (0) | 2010.10.17 |
C언어 / 구구단 소스. (0) | 2010.10.17 |
논리 연산자 계산순서( || && ) / 증감 연산자 (0) | 2010.10.17 |
short 의 최대, 최소값 구하기 (0) | 2010.10.17 |
메모리에 저장할 때 최적화. (0) | 2010.10.17 |
---|---|
포인터와 캐스트 (0) | 2010.10.17 |
논리 연산자 계산순서( || && ) / 증감 연산자 (0) | 2010.10.17 |
short 의 최대, 최소값 구하기 (0) | 2010.10.17 |
아스키 코드 / 빠르게 아스키 코드 확인법 Alt + 숫자 (2) | 2010.10.17 |
논리 연산자
&& = 둘 다 참일 때 결과도 참
|| = 둘 중 하나가 참일 때 결과도 참
! = 참을 거짓으로, 거짓을 참으로 바꿈.
A=3&&4;
>> 1
>> 0이 아닌 수는 모두 참이므로 참 출력(1)
논리 연산자 || 과 &&의 계산순서
>> &&은 왼쪽이 참이기 때문, 양쪽을 모두 비교해야 하기 때문, 끝까지 연산
>> || 은 왼쪽이 참이라면 오른쪽을 무시하고 바로 결과는 참
증감 연산자
전치형 : 증감을 먼저 한후에, 연산한다.
B=++A
계산을 풀어쓰면
1. A=A+1 (A를 먼저 증감시키고)
2. B=A (증감시킨 값을 B에 대입[연산]한다.)
ex) int A=10;
printf("결과 : %d", ++A);
실행시 A의 값을 먼저 증감시킨 후에 %d에 대입(연산)시킨다.
결과 : 11 출력
후치형 : 연산을 먼저한 후에 증감한다.
B=A++
계산을 풀어쓰면
1. B=A (A 값을 B에 대입[연산]한다.)
2. A=A+1 (B와는 별개로 A값을 1 증감)
ex) A=10;
printf("%d", A++);
실행시 A의 값을 %d에 먼저 대입(연산) 한 뒤 증감시킨다.
결과 : 10 출력
포인터와 캐스트 (0) | 2010.10.17 |
---|---|
C언어 / 구구단 소스. (0) | 2010.10.17 |
short 의 최대, 최소값 구하기 (0) | 2010.10.17 |
아스키 코드 / 빠르게 아스키 코드 확인법 Alt + 숫자 (2) | 2010.10.17 |
signed 와 unsigned (0) | 2010.10.17 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
C언어 / 구구단 소스. (0) | 2010.10.17 |
---|---|
논리 연산자 계산순서( || && ) / 증감 연산자 (0) | 2010.10.17 |
아스키 코드 / 빠르게 아스키 코드 확인법 Alt + 숫자 (2) | 2010.10.17 |
signed 와 unsigned (0) | 2010.10.17 |
보수와 2진법에서 음수표현법 (0) | 2010.10.17 |
아스키(ASCII) 또는 미국 정보 교환 표준 부호(American Standard Code for Information Interchange)는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기반한다.
아스키는 1967년에 표준으로 제정되어 1986년에 마지막으로 개정되었다. 아스키는 7비트 인코딩으로, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자들로 이루어진다. 제어 문자들은 역사적인 이유로 남아 있으며 대부분은 더 이상 사용되지 않는다. 출력 가능한 문자들은 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자로 이루어진다.
아스키가 널리 사용되면서 다양한 아스키 기반의 확장 인코딩들이 등장했으며, 이들을 묶어서 아스키라고 부르기도 한다. 대표적으로 7비트 인코딩을 유지한 ISO/IEC 646과, 원래 아스키 코드 앞에 비트 0을 넣어 8비트 인코딩을 만든 IBM 코드 페이지와 ISO 8859가 있다. 이 인코딩들은 언어군에 따라 같은 숫자에 서로 다른 문자가 배당된 경우가 많다.
(출처 : 위키백과 http://ko.wikipedia.org/ )
[출처] 아스키코드, 아스키코드표(ASCII Code)|작성자 Z Omicron
아스키 코드표
출처 : http://www.jasko.co.kr/lesson/ascii.html
ASCII | 10진수 | 16진수 | 8진수 | 2진수 | ASCII | 10진수 | 16진수 | 8진수 | 2진수 |
NULL | 0 | 0×00 | 0 | 0 | @ | 64 | 0×40 | 100 | 1000000 |
SOH | 1 | 0×01 | 1 | 1 | A | 65 | 0×41 | 101 | 1000001 |
STX | 2 | 0×02 | 2 | 10 | B | 66 | 0×42 | 102 | 1000010 |
ETX | 3 | 0×03 | 3 | 11 | C | 67 | 0×43 | 103 | 1000011 |
EOT | 4 | 0×04 | 4 | 100 | D | 68 | 0×44 | 104 | 1000100 |
ENQ | 5 | 0×05 | 5 | 101 | E | 69 | 0×45 | 105 | 1000101 |
ACK | 6 | 0×06 | 6 | 110 | F | 70 | 0×46 | 106 | 1000110 |
BEL | 7 | 0×07 | 7 | 111 | G | 71 | 0×47 | 107 | 1000111 |
BS | 8 | 0×08 | 10 | 1000 | H | 72 | 0×48 | 110 | 1001000 |
HT | 9 | 0×09 | 11 | 1001 | I | 73 | 0×49 | 111 | 1001001 |
LF | 10 | 0×0A | 12 | 1010 | J | 74 | 0×4A | 112 | 1001010 |
VT | 11 | 0×0B | 13 | 1011 | K | 75 | 0×4B | 113 | 1001011 |
FF | 12 | 0×0C | 14 | 1100 | L | 76 | 0×4C | 114 | 1001100 |
CR | 13 | 0×0D | 15 | 1101 | M | 77 | 0×4D | 115 | 1001101 |
SO | 14 | 0×0E | 16 | 1110 | N | 78 | 0×4E | 116 | 1001110 |
SI | 15 | 0×0F | 17 | 1111 | O | 79 | 0×4F | 117 | 1001111 |
DLE | 16 | 0×10 | 20 | 10000 | P | 80 | 0×50 | 120 | 1010000 |
DC1 | 17 | 0×11 | 21 | 10001 | Q | 81 | 0×51 | 121 | 1010001 |
SC2 | 18 | 0×12 | 22 | 10010 | R | 82 | 0×52 | 122 | 1010010 |
SC3 | 19 | 0×13 | 23 | 10011 | S | 83 | 0×53 | 123 | 1010011 |
SC4 | 20 | 0×14 | 24 | 10100 | T | 84 | 0×54 | 124 | 1010100 |
NAK | 21 | 0×15 | 25 | 10101 | U | 85 | 0×55 | 125 | 1010101 |
SYN | 22 | 0×16 | 26 | 10110 | V | 86 | 0×56 | 126 | 1010110 |
ETB | 23 | 0×17 | 27 | 10111 | W | 87 | 0×57 | 127 | 1010111 |
CAN | 24 | 0×18 | 30 | 11000 | X | 88 | 0×58 | 130 | 1011000 |
EM | 25 | 0×19 | 31 | 11001 | Y | 89 | 0×59 | 131 | 1011001 |
SUB | 26 | 0×1A | 32 | 11010 | Z | 90 | 0×5A | 132 | 1011010 |
ESC | 27 | 0×1B | 33 | 11011 | [ | 91 | 0×5B | 133 | 1011011 |
FS | 28 | 0×1C | 34 | 11100 | \ | 92 | 0×5C | 134 | 1011100 |
GS | 29 | 0×1D | 35 | 11101 | ] | 93 | 0×5D | 135 | 1011101 |
RS | 30 | 0×1E | 36 | 11110 | ^ | 94 | 0×5E | 136 | 1011110 |
US | 31 | 0×1F | 37 | 11111 | _ | 95 | 0×5F | 137 | 1011111 |
SP | 32 | 0×20 | 40 | 100000 | . | 96 | 0×60 | 140 | 1100000 |
! | 33 | 0×21 | 41 | 100001 | a | 97 | 0×61 | 141 | 1100001 |
" | 34 | 0×22 | 42 | 100010 | b | 98 | 0×62 | 142 | 1100010 |
# | 35 | 0×23 | 43 | 100011 | c | 99 | 0×63 | 143 | 1100011 |
$ | 36 | 0×24 | 44 | 100100 | d | 100 | 0×64 | 144 | 1100100 |
% | 37 | 0×25 | 45 | 100101 | e | 101 | 0×65 | 145 | 1100101 |
& | 38 | 0×26 | 46 | 100110 | f | 102 | 0×66 | 146 | 1100110 |
' | 39 | 0×27 | 47 | 100111 | g | 103 | 0×67 | 147 | 1100111 |
( | 40 | 0×28 | 50 | 101000 | h | 104 | 0×68 | 150 | 1101000 |
) | 41 | 0×29 | 51 | 101001 | i | 105 | 0×69 | 151 | 1101001 |
* | 42 | 0×2A | 52 | 101010 | j | 106 | 0×6A | 152 | 1101010 |
+ | 43 | 0×2B | 53 | 101011 | k | 107 | 0×6B | 153 | 1101011 |
' | 44 | 0×2C | 54 | 101100 | l | 108 | 0×6C | 154 | 1101100 |
- | 45 | 0×2D | 55 | 101101 | m | 109 | 0×6D | 155 | 1101101 |
. | 46 | 0×2E | 56 | 101110 | n | 110 | 0×6E | 156 | 1101110 |
/ | 47 | 0×2F | 57 | 101111 | o | 111 | 0×6F | 157 | 1101111 |
0 | 48 | 0×30 | 60 | 110000 | p | 112 | 0×70 | 160 | 1110000 |
1 | 49 | 0×31 | 61 | 110001 | q | 113 | 0×71 | 161 | 1110001 |
2 | 50 | 0×32 | 62 | 110010 | r | 114 | 0×72 | 162 | 1110010 |
3 | 51 | 0×33 | 63 | 110011 | s | 115 | 0×73 | 163 | 1110011 |
4 | 52 | 0×34 | 64 | 110100 | t | 116 | 0×74 | 164 | 1110100 |
5 | 53 | 0×35 | 65 | 110101 | u | 117 | 0×75 | 165 | 1110101 |
6 | 54 | 0×36 | 66 | 110110 | v | 118 | 0×76 | 166 | 1110110 |
7 | 55 | 0×37 | 67 | 110111 | w | 119 | 0×77 | 167 | 1110111 |
8 | 56 | 0×38 | 70 | 111000 | x | 120 | 0×78 | 170 | 1111000 |
9 | 57 | 0×39 | 71 | 111001 | y | 121 | 0×79 | 171 | 1111001 |
: | 58 | 0×3A | 72 | 111010 | z | 122 | 0×7A | 172 | 1111010 |
; | 59 | 0×3B | 73 | 111011 | { | 123 | 0×7B | 173 | 1111011 |
< | 60 | 0×3C | 74 | 111100 | | | 124 | 0×7C | 174 | 1111100 |
= | 61 | 0×3D | 75 | 111101 | } | 125 | 0×7D | 175 | 1111101 |
> | 62 | 0×3E | 76 | 111110 | ~ | 126 | 0×7E | 176 | 1111110 |
? | 63 | 0×3F | 77 | 111111 | DEL | 127 | 0×7F | 177 | 1111111 |
논리 연산자 계산순서( || && ) / 증감 연산자 (0) | 2010.10.17 |
---|---|
short 의 최대, 최소값 구하기 (0) | 2010.10.17 |
signed 와 unsigned (0) | 2010.10.17 |
보수와 2진법에서 음수표현법 (0) | 2010.10.17 |
진법과 계산법 (0) | 2010.10.17 |
short 의 최대, 최소값 구하기 (0) | 2010.10.17 |
---|---|
아스키 코드 / 빠르게 아스키 코드 확인법 Alt + 숫자 (2) | 2010.10.17 |
보수와 2진법에서 음수표현법 (0) | 2010.10.17 |
진법과 계산법 (0) | 2010.10.17 |
vmware 공유폴더 설정하기 (윈도우, 리눅스와 공유폴더 만들기) (0) | 2010.10.17 |
2진법에서 음수를 표현하는 법
>> 1의 보수를 취하고 +1
ex) 0000 0101 < 5를 2진수로 표현
1111 1010 < 1의보수
1111 1011 < +1 하였음 : -5
컴퓨터는 뺄셈을 시켜도 음수로 바꾼 뒤에 덧셈을 시킨다.
아스키 코드 / 빠르게 아스키 코드 확인법 Alt + 숫자 (2) | 2010.10.17 |
---|---|
signed 와 unsigned (0) | 2010.10.17 |
진법과 계산법 (0) | 2010.10.17 |
vmware 공유폴더 설정하기 (윈도우, 리눅스와 공유폴더 만들기) (0) | 2010.10.17 |
1011) 마우스 오른클릭 막음 해제 (펌 방지 해제) (0) | 2010.10.11 |
진법 빨리 계산하는 법
16진법은 2진수로 바뀔 때, 4자리가 16진수 숫자 하나로 치환
>> ex) 0110 0111
6 7 = 0110 0111 은 16진수 67로 변경 가능
8진법은 2진수로 바뀔 때, 3자리가 8진수 숫자 하나로
>> ex) 000 111 111 101
7 7 5 = 8진수 775로 변경
signed 와 unsigned (0) | 2010.10.17 |
---|---|
보수와 2진법에서 음수표현법 (0) | 2010.10.17 |
vmware 공유폴더 설정하기 (윈도우, 리눅스와 공유폴더 만들기) (0) | 2010.10.17 |
1011) 마우스 오른클릭 막음 해제 (펌 방지 해제) (0) | 2010.10.11 |
1008) C언어로 2 ~ 50까지 소수 구하기 (코드) (0) | 2010.10.08 |
* VMware 에서 공유폴더를 만들고 리눅스와 공유하기
VMware 상단의 Virtual Machine 에 가면 Virtual Machine Setting 이라는 메뉴가 있다.
누르고 상단의 'Option' 탭을 누른 뒤
보수와 2진법에서 음수표현법 (0) | 2010.10.17 |
---|---|
진법과 계산법 (0) | 2010.10.17 |
1011) 마우스 오른클릭 막음 해제 (펌 방지 해제) (0) | 2010.10.11 |
1008) C언어로 2 ~ 50까지 소수 구하기 (코드) (0) | 2010.10.08 |
0929) 공부 / (펌) 실수를 2진수로 표현 (0) | 2010.09.29 |
진법과 계산법 (0) | 2010.10.17 |
---|---|
vmware 공유폴더 설정하기 (윈도우, 리눅스와 공유폴더 만들기) (0) | 2010.10.17 |
1008) C언어로 2 ~ 50까지 소수 구하기 (코드) (0) | 2010.10.08 |
0929) 공부 / (펌) 실수를 2진수로 표현 (0) | 2010.09.29 |
0923) C 보충 (0) | 2010.09.23 |
vmware 공유폴더 설정하기 (윈도우, 리눅스와 공유폴더 만들기) (0) | 2010.10.17 |
---|---|
1011) 마우스 오른클릭 막음 해제 (펌 방지 해제) (0) | 2010.10.11 |
0929) 공부 / (펌) 실수를 2진수로 표현 (0) | 2010.09.29 |
0923) C 보충 (0) | 2010.09.23 |
0920) 컴파일 (0) | 2010.09.20 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
중요한건 저 공식이 아니라, 저런 공식을 사용하여. 처리한다는 것입니다..
m은 정수부를 표현할만큼의 저장공간을 의미하고 e는 소수부를 표현할만큼의 저장공간을 의미합니다..
그러니까..
개념적으로 이해하고 넘어가실것은, 어떠한 식(위의식)에 따라 실수부를 표현한다는 것입니다.
이젠, 실수부의 특징 몇가지를 살펴보겠습니다..
혹시 여러분중에서 float형으로 변수선언을 했더니 오차가 생겼다! 라는 이상한 경험을 하신적 있으신가요?~
여러분이 지금 사용하는 컴퓨터는 만능이아닙니다.
모든 일을 처리할수있습니다. 하지만, 모든 일을 정확히 처리할순 없습니다.
무슨 소리일까요..? 같이 살펴 보시죠.
저게 .. 몬 지는 아직 공부하지 않아서 잘 모르겠습니다. 하지만,
전체적인 간단한 설명을 하자면 a와 b가 같으면 같습니다를 출력하고 다르면 다릅니다 를 출력하는 프로그램입니다.
하지만, 보시면.... 당당하게 " 같습니다 " 가 출력됬습니다.
분명히, 저정도 근사한 차이가 무슨 문제가 되겠느냐, 하시는 분들도 계시기에 몇가지 붙여보겠습니다.
만약에 변수 b에 연산을 한다면 어떻게 될까요.. 물론, 간단한 연산은 표현조차 안되겠지만,
반복해서 b를 더해준다면... 1000번만 실행해도 눈에 띄는 오차가 되어있을 것입니다.
우리가 쓰는 프로그램은 정말 엄청난 연산으로 이루어진 프로그램도 많답니다..
그렇다면, 저 오차가 어디서 생기는 것일까요..?
맨처음 보셨던 식에서 생기는 것입니다. 맨처음식에 어떤 수를 대입하셔도 0은 만들지 못합니다.
그럼 0을 표현하지 못한다는 얘긴가요?..0.0은 없는것인가요..?
아니죠. 컴퓨터는 정확한수를 표현하는것보단, 정말 미세한 오차로, 전혀 문제가없을 만큼의 근사치를 통해
실수를 표현합니다. 그래서, 오차는 당연하것이죠..
이런것이 , 부동소수점의 오차라고 표현합니다.
부동소수점 방식이랑, 위의식대로 소수점을 처리하는 방식이죠.
오차란 사람이 정한 값과 컴퓨터가 표현할수있는 형식상 오류때문에 어쩔수없이 생길수밖에없습니다.
하지만 얼마나 오차를 작게 만들어서 무리없이 사용하느냐도 중요합니다.
간단하게 , 저번포스트부터 정수와 실수의 표현방식에 대해서 알아보았습니다 .
두개를 같이 쓸까하다가 지루할것같아서 나눠봤습니다.
읽느라 수고하셨구요. 그럼 다음 포스트에서 뵙겠습니다.
[출처] [OnAir_FreeNote_C] 실수의 표현|작성자 Prince
1011) 마우스 오른클릭 막음 해제 (펌 방지 해제) (0) | 2010.10.11 |
---|---|
1008) C언어로 2 ~ 50까지 소수 구하기 (코드) (0) | 2010.10.08 |
0923) C 보충 (0) | 2010.09.23 |
0920) 컴파일 (0) | 2010.09.20 |
0920) 환경변수 등록 (0) | 2010.09.20 |