델파이의 연산자

Source : http://wwwi.tistory.com/136

프로그램 중에 연산자를 사용해서 데이터를 조작할 수 있다.
연산자에는 아래와 같은 연산자들이 있다.

■ 대입 연산자

대입은 = 가 아니라 := 이다.
=앞에 반드시 콜론을 붙인다.
= 는 비교연산자로 쓰인다.

사용예
X := 99;

산술 연산자

산술연산자는 수치 연산을 위한 연산자이다.

기호 의미
+ 더하기 Y := X + 1;
빼기 Y := X – 1;
* 곱하기 Y := 3.14 * X;
/ 실수 나누기 Y := X / 3.14;
div 정수 나누기 K := N div 2;
mod 나머지 N := M mod 2;

■ 비트 연산자

비트 연사자는 정수형의 변수의 비트를 조작할 때 사용한다.

기호 의미
or 논리합 M := N or $8000;
and 논리곱 M := N and $FF;
xor 배타적 논리합 M := N xor $FFFF;
shr 오른쪽 쉬프트 M := N shr 1;
shl 왼쪽 쉬프트 M := N shl 1;
not 부정 M := not N;

■ 관계 연산자

관계연산자는 비교를 할때 사용한다.
보통 if문과 함께 사용한다.
C에서는 같은지르 비교할때는 == 을 사용하지만 델파이에서는 = 을 사용한다.

사용예

if nDat > 0 then
begin
nDat := nDat * 20;
nRet := funA(nDat);
end;

■ 논리 연산자

논리 연산자는 Boolean형의 변수에 대해 사용한다.

기호 의미
or 논리합 F := F1 or  F2;
and 논리곱 F := F1 and F2;
xor 배타적 논리합 F := F xor True;
not 부정 F := not F1;

■ 어드레스 연산자

어드레스 연산자는 @를 사용하면 변수나 프로시져, 펑션, 메소드의 어드레스를 얻을 수있다.
결국 이런 것들에 @를 붙이면 이것들에 포인터가 된다.

사용예

var
nDat: Integer;
pnDat: ^Integer;

begin

pnDat := @nDat;

end;

■ 집합 연산자

집합 연산자 in 은 어떤 값이 집합의 멤버인지 아닌지를 판달할 때 사용한다.

사용예

if ItemA in SetA then
begin

end;

또는 <=, =>, = 는 집합의 비교에 사용한다.
예를 들면 A가 B에 포함되는지 아닌지를 판단할때는 A <= B로 쓴다.

■ 문자열 연산자

문자열을 붙여 쓸때 + 를 사용한다.

사용예

Str := Str1 + ‘ # ‘ + Str2;

비교연산자 <, >, <=, =>, =, <> 는 문자 코드 순에 따라서 문자열을 비교한다.
문자열 주작은 이밖에도 많은 문자열 조작 함수를 사용한다.

◆ 연산자 우선순위

연산자의 우선순위는 아래와 같다.

연산자 우선순위
@,not,^,- 1(높음)
*,/,div,mod,and,shl,shr 2
+,-,or,xor 3
=,<>,<,>,<=,>=,in 4(낮음)
Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중