2013. 8. 28. 00:43

C/C++ - 특징

C언어,C++의 특징

C언어와 C++은 같은 형제지간이지만 엄연히 특징은 다릅니다.

J.K 스나이퍼님의 말씀대로 배우는데 혼돈이 생길 수 있으니

확실히 둘의 특징과 차이점을 집고 넘어가겠습니다.

C언어는 절차지향 언어 이고 C++은 객체지향 언어 입니다.

지금은 저게 무슨 뜻인지 모르겠지만 나중에 공부하다보면 이해를 하시게 될겁니다.

그래도 간단한 설명은 있어야하니..

절차지향 언어는  프로그램을 작성할 떄 실행 순서를 지정하게 되는 작성언어로써

문제의 해결 순서와 절차의 표현과 해결이 쉽도록 설계 되었다.

객체지향 언어는 캡슐화 다형성 상속성 등의 특징으로 방대한 코드를 한 번에

묶어버리고 내부의 정보를 외부에 보이지 않게하는 알약의 특성을 가지고 있고

연관이 있는 두가지 이상의 용도로 하나의 이름을 사용할 수 있게하고

하나의 객체에 정의된 코드를 다른 객체에 이어받는 것(상속하는것)도 가능하다. 

 

각자의 특징들

C언어 는 1970년대 유닉스 운영체제를 만들 때 구현,사용 용도로 만들어졌습니다.

- 고급언어와 저급언어의 장점을 골고루 포함했다.

- 함수의 집합으로 구성되어 구조적 프로그램에 적합하다.

- 다양한 자료구조의 표현에 적합하다.

- 다른 시스템으로의 호환,이식성이 좋다.

 

C++ 은 C언어에서 OOP(객체 지향)을 접목시켜 보완을 하고 만들어 졌습니다.

- 데이터 추상화를 지원한다

- C언어의 특징을 물려받았다.

- 기존 C문법이 사용하기 편하게 개선되었다.

- 객체 지향 프로그래밍을 지원한다.

 

설명은 부족했지만 두 언어는 프로그래밍하는 방식부터가 다르다는 걸

꼭 아셔야 공부하실 때 해깔리는 일이 없으실겁니다.

'C/C++' 카테고리의 다른 글

C언어 - scanf 함수,주석문  (0) 2013.08.31
C언어 - 변수,형식지정문자  (0) 2013.08.31
C언어 - main,printf 함수  (0) 2013.08.31
C/C++ <- 대체 이것들은 뭐지?!  (0) 2013.08.25
C/C++ - 시작하기 전  (0) 2013.08.25
2013. 8. 28. 00:23

정보기초 - 데이터 표현방법(1)

어떻게 데이터를 표현할까?

우리들은 계산이든 표현이든 결과값이든 모든 것을 0~9까지 10개의 숫자로

표현을 다 해냅니다.

그런데 컴퓨터는 우리들처럼 손가락이 10개도 아니고 생각하는 생물체가 아니기 때문에

오직 컴퓨터가 아는 것이라면

(전류가 들어오는 상태) 1(전류가 없는 상태) 0 이 두 개의 숫자 밖에 

알지 못한다고 하는데 그런 컴퓨터는 신기하게도 0과 1로만으로 사칙연산은 물론이고

이 모든 데이터 표현을 다 할 수 있습니다.

 

비트바이트

비트는 컴퓨터가 나타내는 데이터 중 가장 최소의 단위인데 1아님 0만 담을수 있는 데이터입니다.

그것들이 8개가 모이면 그 묶음이 바이트가 됩니다.

 

사용하는 진법의 종류

2진법

0~1 2개의 숫자를 사용

컴퓨터가 유일하게 알아들을 수 있는 진법

8진법

0~7 8개의 숫자를 사용

10진법

0~9 10개의 숫자를 사용

우리들이 쓰고있는 대표적인 진법

16진법

0~F 16개의 숫자를 사용

메모리나 어셈블리어나 등등 장치에서 씀

 

 2진수

8진수 

10진수 

16진수 

 10

11 

 3

 100

 4

 4

 4

 101

 5

 5

 5

 110

 6

 6

 6

 111

 7

 7

 7

 1000

 10

 8

 8

 1001

 11

 9

 9

 1010

 12

 10

 A

 1011

 13

11

 B

 1100

 14

 12

 C

 1101

 15

 13

 D

 1110

 16

 14

 E

 1111

 17

 15

 F

각자 진법마다 끝에 다다르면 올림이 발생합니다.

첫째자리는 다시 0 이 되고 둘째자리부터 1 씩 올림이 됩니다.

 

죄송합니다 설명이 빈약하고 이상할수도 있습니다.

어디서부터 설명해야할지 몰라서..

2013. 8. 27. 22:31

어셈블리어 - PUSH,POP 함수

PUSH POP

 

스택 : 스택이란 쌓아 올린 더미를 의미하는데 자료구조에서 기억 장치에 데이터를 일시적으로 겹쳐 쌓아 두었다가 필요할 때에 꺼내서 사용할 수 있게 주기억장치(main memory)나 레지스터(register)의 일부를 할당하여 사용하는 임시 기억장치를 말한다.

라고 네이버백과사전에 나와있었습니다. 스택을.. 어떻게 설명할까 고민중에 그냥 지식백과를 봤습니다.ㅋ

제가 좀 간추려보면 데이터를 임시적으로 저장했다가 필요할 때 꺼내쓰는 임시기억장치입니다.

알아야할점은 먼저 저장되는 데이터는 마지막에 나온다는 것입니다.

조잡하게 만들긴 했지만 ... 저런 구조를 띄고 있습니다.

 

무튼 PUSH POP은 스택에 관련된 명령어입니다.

 

PUSH

예제 : PUSH 인자1

스택에 인자1를 넣습니다(저장)

인자는 하나만 가지며 그자리에 레지스터,정수가 들어갈 수 있습니다 

 

POP

예제 : POP 인자1

스택에서 인자1을 빼냅니다.

스택에 인자1이 저장되 있어야 빼낼 수 있습니다.

 

'어셈블리어' 카테고리의 다른 글

어셈블리어 - CALL,CMP,JMP 함수  (1) 2013.08.27
어셈블리어 - INC,DEC,NOP  (3) 2013.08.27
어셈블리어 - ADD,SUB 함수  (1) 2013.08.27
어셈블리어 - MOV,LEA 명령어  (1) 2013.08.27
어셈블리어 - 레지스터*  (0) 2013.08.27