본문 바로가기
카테고리 없음

리눅스 02일차

by sooom13579 2021. 12. 1.

변수와 연산자, 데이터 처리

 

1. 변수와 상수

  • 변수: 변하는 수
  • 상수: 변하지 않는 수

 

   1-1. 데이터형

데이터형 크기 설명
char 1byte 단일 문자 -2^7 ~ 2^7-1
int 4byte 정수형 숫자 -2^15 ~ 2^15-1
float 4byte 실수 부호(1), 지수(8), 가수(23)
double 8byte 실수 부호(1), 지수(11), 가수(52)

1-2. signed / unsigned

  • signed : 최상위 비트를 부호 비트로 사용, 최상위 비트를 제외하고는 보수로 뒤집어줌
  • unsigned : 전영역 정수로 사용

2. 연산자

  •  대입연산자 : 변수에 값을 대입하기 위한 연산자
                         ex) =  (좌항에 변수 입력)
  • 산술연산자 : 수치 계산을 위한 연산자
                         ex) +, -, *, /, %, …
  • 비교연산자 : 비교를 위한 연산자
                         ex) >, ==, <
  • 논리연산자 : 참/거짓 판별하는 연산자
                         ex) &&, ||, !
  • 증감연산자 : 증가/감소 연산자
                         ex) ++, --
  • 비트연산자 : 비트 단위 연산자
                         ex) &, |, ^, <<, >>, ~

2-1. 연산자 우선순위

순위 연산자 결합성
1 (), [],  ->/. (구조체) 좌->우
2 !, -, ++, --, *(포인터), &, sizeof 우->좌
3 *, /, % 좌->우
4 +, - 좌->우
5 <<, >> 좌->우
6 <, <=, >, >= 좌->우
7 ==, != 좌->우
8 &(비트연산자) 좌->우
9 ~ 좌->우
10 | 좌->우
11 && 좌->우
12 || 좌->우
13 ?: 좌->우
14 , 우->좌

3. Define 문: 매크로 정의: 상수로도 함수로도 이용 가능

  •     상수 : #define MAX_AGE 250
              = const int MAX_AGE 250;
  •     함수 : #define add(a,b) (a+b)
              = int add(int a, int b) {
                      return (a+b); }
  •      define문은 precompile 단계에서 코드를 컴파일러가 해석하기 좋게 바꾸어준다. (대입 개념)

 

4. 데이터 처리

  • 컴퓨터는 메모리에 쓰여진 0과 1의 bit 나열로만 받아들임
  • 데이터 타입을 통한 추상화

4-1. 숫자 다루기

  •  1의 보수 : 비트 모두 반전. +0, -0이 모두 존재
  • 2의 보수 : 비트 반전 +1. 하나의 0만 존재