1. 데이터 표현 방식의 이해
>정수의 표현 방식 :모든 정수의 가장 왼쪽에 있는 비트는 부호 비트이다. (양수 = 0, 음수 = 1) :가장 왼쪽 비트를 제외한 나머지 비트들은 데이터 크기를 나타낸다. ex) 0(부호의 표현)0000000(데이터 크기 표현)
+음수를 표현할 때에는 2의 보수 체계를 기억해야 한다. :1의 보수를 취한다. > 1을 더한다 ex) 00000101 (+5) 11111010 (1의 보수를 취한다) 11111011 (1을 더한다) >> -5 +컴퓨터가 실수를 표현하는 방식은 오차를 지닌다. :넓은 범위의 실수를 표현할 수 있다는 장점과 더불어 오차가 존재한다는 단점도 지닌다.
>비트 단위 연산 :& (AND) : 두 개의 비트가 모두 1일 때 1을 반환 | (OR) : 두 개의 비트 중 하나라도 1이면 1을 반환 ^ (XOR) : 두 개의 비트가 서로 다른 경우에 1을 반환 ~ (NOT) : 보수 연산 <<(왼쪽으로 이동) >>(오른쪽으로 이동) |
2. 상수와 기본 자료형 -자료형이란? : 선언할 변수의 특징을 나타내기 위한 키워드
+정수형 char 1byte short 2byte int 4byte long 4byte
+실수형 float 4byte double 8byte
+많은 수의 자료형을 제공하는 이유? :데이터의 표현 방식이 다르기 때문 :메모리 공간을 적절히 사용하기 위해서
+sizeof연산자 :단항 연산자로서 피연산자의 메모리 크기를 반환한다. ex) int main(void) { int val = 10; printf("%d",sizeof val); // 변수 val의 메모리 크기 출력 printf("%d",sizeof(int)); // 자료형 int의 메모리 크기 출력 ........
+자료형 선택하기 -정수형 데이터를 처리하는 이유 :컴퓨터는 내부적으로 int형 데이터를 가장 빠르게 연산(처리)하기 때문
-실수형 데이터를 처리하는 경우 :정밀도
+unsigned :+,-의 기준이 사라지게 되고 표현되는 모든 값은 양수가 된다
+ASCII :'0' - 48 'A' - 65 'a' - 97
+리터럴(literal) 상수 :이름을 지니지 않는 상수
>자료형 변환 :데이터의 표현 방식을 바꾼다 :자동 형 변환(묵시적 형 변환), 강제 형 변환(명시적 형 변환)
+자동 형 변환 :값의 표현 범위가 넓은 데이터로의 형 변환은 아무런 문제가 발생하지 않는다.
+강제 형 변환 :원래의 자료형 보다 작은 자료형으로 형 변환을 하게 된다면 데이터 손실이 발생한다. 그래서 강제 형 변환을한다. ex) int main(void) { int a = 1; int b = 2;
float f = (float)a / b; ...... <참조 : C 열혈강의> |
'삽질의 현장 > - C' 카테고리의 다른 글
[Surro] :: C언어 이론 07. 포인터 (0) | 2013.10.06 |
---|---|
[Surro] :: C언어 이론 06. 배열 (0) | 2013.10.06 |
[Surro] :: C언어 이론 05. 함수 (0) | 2013.10.06 |
[Surro] :: C언어 이론 04. 조건문 (0) | 2013.10.06 |
[Surro] :: C언어 이론 03. 반복문 (0) | 2013.10.06 |