로그인회원등록 내글장바구니주문조회현재접속자
 상품 검색








 게시판 검색





 
 
회원등록 비번분실


온라인 입금계좌
ㆍ기업은행
ㆍ219-043192-01-028
ㆍ이건영

      거래은행 바로가기
 
 Arduino Open Source
아듀이노 함수의 상세설명
작성자 avrtools™        
작성일 2008/08/26
Link#1 Boolean (Down:365)
ㆍ추천: 0  ㆍ조회: 2942   
  아듀이노 논리연산
참조 : http://www.arduino.cc/en/Reference/Boolean
제목 : C, C++ (아듀이노 포함) 논리연산

논리 AND 연산자는 & 이다. 논리비교 AND 연산자는 && 이다.
논리 OR 연산자는 | 이다. 논리비교 OR 연산자는 || 이다.
논리 NOT 연산자는 ~ 이다. 논리비교 NOT 연산자는 ! 이다.

사용방법
논리(Logical) 연산자 AND, OR, NOT 과, 논리 비교(Boolean) 연산자 &&, ||, ! 는 용도가 전혀 들립니다.
if (A ==1 && B ==1) 의 분기문은, &&는 A ==1과 B==1이 모두 충족해야 분기조건이 되는, 논리비교입니다.
if (A ==1 || B ==1) 의 분기문은, ||는 A ==1과 B==1이 어느 하나라도 충족하면 분기조건이 되는, 논리비교입니다.
if (!A)의 분기문은, A가 1이 아닐때, 즉 if (A ==0)과 같으며,
 
논리 연산자 &, |, ~는 단순히 논리적인 연산을 하며, 분기 조건으로 사용하지 않습니다.
B = A & 0xF0 은 A와 0xF0 즉 11110000과 AND하여 결과를 저장합니다.
Z = X | Y 라고 하다면 X와 Y를 OR하여 결과를 Z에 저장합니다.
즉, X가 11110000 이고, Y가 00001111 이라면 Z는 11111111 이 저장됩니다. 
 
복합 논리, 산술 연산자
+, -, *, /, &, |, ~ 등은 =과 복합하여 사용하면, 문법을 단축시킵니다.
++ 과 --는 비교 연산자가 아니고, +=1 과 -=1 의 복합 연산자입니다.
A +=6 은 A에 6을 +하고 A에 저장, B -=A는 B에서 A를 빼고 결과를 B에 저장합니다.
X++은 X에 1을 더해서 X에 저장합니다, 즉 X = X + 1 과 같으며, X +=1 과도 같습니다.
 
논리상수(Boolean)와 상수 (Constant)
변수를 사용하면, 명령구문에서 상수들이 의미있는 단어로 쓰여지므로,
구문 자체가 자연어와 같이, 프로그램을 직관적으로 이해할 수 있게 해줍니다.

false, true, HIGH, LOW, INPUT, OUTPUT 등은 논리(Boolean) 상수이며,
입출력 포트의 방향을 설정하는 pinMode에서, pinMode(9, HIGH)
혹은 pinMode(9, OUTPUT), pinMode (9, 1)은 모두 같은 명령입니다. 
디지털 출력인 digitalWrite(8, HIGH) 혹은 digitalWrite(8, 1)도 같은 명령입니다.


string 변수에 사용하여, 글씨(문자)를 나타내는 ASCII 코드도 상수입니다.
즉 상수는 숫자나 문자를 변수이름에 대입하여, 명령구문에서 변수이름을 사용할 수 있게 합니다.
 
변수의 형식 (Data Type)
변수의 형식은 한번 선언하면,
명령구문에서 변수형식없이 변수이름만 사용할 수 있게 합니다. 
또한 크기가 작은 변수 형식들은 제한된 메모리공간을 절약하는 역할 을 합니다.
 
제한된 메모리공간을 절약하고 명령구문들의 실행속도를 늘어지게 하지 않으려면,
가급적 char, byte, int, unsigned int 등 작은 데이터 형식의 변수를 사용해야 합니다.
쓸데없이 long 이나 double등 4 바이트, 8 바이트 변수를 많이 사용하면,
결국 사용할 수 있는 전체의 메모리 공간이, 1/4 이나 1/8로 내려가기 때문입니다.
 
boolean 은 논리 변수로 1과 0만 저장됩니다.
char 는 1 바이트를 변수로 저장하며, 주로 문자를 저장합니다. 가급적 문자변수에만 사용하십시요.
byte 는  1 바이트를 변수로 저장하며, 주로 숫자를 저장합니다. 일반 변수에 두루 사용하십시요.

int 는 정수 변수로 2 바이트를 하나의 변수로 저장합니다. 가장 많이 사용하는 숫자형 변수입니다.
unsigned int 는 부호없는 정수(2 바이트) 변수를 저장합니다.

long 은 4 바이트 변수를 저장합니다, 1문자를 long에 저장하면 손해가 많습니다.  
unsigned long은 부호없는 4 바이트 변수를 저장합니다.  

float 는 부동소숫점을 4바이트로 저장합니다.
double은 long의 2배로 8 바이트 변수를 저장합니다. 

string은 문자열을 하나의 변수로 저장하며, 문자 처리에 이용합니다. 

array는 char 나 byte 혹은 int 등의 작은 변수를, 집단으로 순서대로 배열을 해서, 사용하기 쉽게 합니다.  
예를 들어 int A[] = {0,1,1,1,1, 1,0,1,0,0, 0,1,1,1,1}; 라고 배열변수 A에 여러개의 숫자를 선언하면,
A[0] 부터 A[14] 까지 15개의 정수형 변수가 순서대로 배열됩니다.

 
[ ]안에 들어가는 배열변수의 포인터는 직접 숫자를 사용하거나, 변수를 사용할 수 있습니다.
int B[3][5] = {{1,1,1,1,1}, {1,0,1,0,1}, {0,1,0,1,0}}; 는 5개씩 저장하는 3개의 정수형 변수배열을 선언합니다.

역자 주

되도록 간단 명료하게 설명하려고 노력했습니다만, 글을 잘 쓴다는 것은 어렵습니다. 

이 프로그램은 무료 소프트웨어로, 신체와 재산 상의 어떤 위험과 손해를 보상하지 않습니다.
이 프로그램은 GNU 무료 소프트웨어 배포규정을 따릅니다.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
  
 
AVRTOOLS™
   
  0
9999
윗글 One Button Switch Library
아래글 아듀이노 PS2 키보드 읽기
    N         제목    글쓴이 작성일 조회 추천
판매상품의 사용설명서는 다른 자료실에,,, avrtools™ 2011/08/30 (화) 1428 0
23 LCD 문자표시 (신형) avrtools™ 2012/04/12 (목) 2057 0
22 아듀이노 멜로디 연주 avrtools™ 2008/08/22 (금) 3396 0
21 아듀이노 4비트 LCD (구형) avrtools™ 2008/09/02 (화) 4249 0
20 아듀이노 가변저항 avrtools™ 2008/08/26 (화) 3047 0
19 직렬 데이터 이동(shift) 출력 avrtools™ 2012/04/10 (화) 1673 0
18 디지털 신호의 펄스폭을 측정하는 함수 avrtools™ 2012/04/10 (화) 1944 0
17 EEPROM 읽기, 쓰기 함수 avrtools™ 2012/04/10 (화) 2227 0
16 변수의 크기 avrtools™ 2012/04/10 (화) 1575 0
15 플레시 메모리에 상수를 저장하고 읽는 함수 avrtools™ 2012/04/10 (화) 1834 0
14 소프트웨어 Serial 함수 avrtools™ 2012/04/10 (화) 1758 0
13 아듀이노 터치스위치 [3] avrtools™ 2008/08/11 (월) 4064 0
12 아듀이노 shiftOut avrtools™ 2008/09/10 (수) 3301 0
11 아듀이노 스위치와 LED점등 avrtools™ 2008/08/13 (수) 4547 0
10 아듀이노의 주파수 출력 함수 avrtools™ 2009/10/20 (화) 2683 0
9 One Button Switch Library avrtools™ 2012/03/09 (금) 1796 0
8 아듀이노 논리연산 avrtools™ 2008/08/26 (화) 2942 0
7 아듀이노 PS2 키보드 읽기 avrtools™ 2008/09/10 (수) 3995 0
6 아듀이노 가로채기 함수 avrtools™ 2008/08/23 (토) 3127 0
5 아듀이노 전용명령 avrtools™ 2008/09/16 (화) 3875 0
4 아듀이노 PWM 출력과 타이머1 전용명령 avrtools™ 2008/08/19 (화) 3508 0
3 8비트 포트의 단일비트 조작방법 avrtools™ 2010/10/30 (토) 2310 0
2 직렬포트에서 문자를 받아 숫자 int로 저장 avrtools™ 2012/04/08 (일) 1647 0
1 직렬통신포트의 초기화 avrtools™ 2012/04/06 (금) 1437 0
1

바구니 : 0
 보관함 : 0
오늘뷰 : 0
HOME   |   회사소개   |   제휴안내   |   회사위치   |   서비스이용 약관   |   개인정보 보호정책   |   사이트맵
17015 경기도 용인시 기흥구 동백중앙로16번길 16-25, 508호. 전화 : 031-282-3310
사업자 등록번호 : 697-47-00075 / 대표 : 이건영 / 업태 : 제조업 / 종목 : LED조명, LED전원, 제어장치.
개인정보 관리책임자 : 홈페이지 관리자 . Copyright ⓒ2016 아크레즈 (ACLEDS INC.)
HOME TOP PREVNEXT 0 0 0