카테고리 없음

c언어 공부 2일차

jjon-jonny 2023. 9. 2. 16:14

2-3 

 2진법

-2로 나누어서 나뉜 나머지를 이용하여 계산함.

ex)15=2^3+2^2+2^1+2^0

=>1111

24=2^4+2^3

=>11000

 

16진법

-16으로 나뉜수를 나머지로 이용하여 계산함.

24=16^1+16^0*8

=>Ox18

ox는 16진수로 나타낸것을 알려줌.

 

16진법=>2진법 변경방법

 

맨 앞자리는 4자리로 맞추지 않아도 됨. 뒤에는 반드시 4자리를 남김.

뒤에서부터 4개씩 나누어서 변경시키면 2진법=>16진법으로 변경 가능임.

 

컴퓨터의 메모리 구조

 

휘발성 메모리

-램(회전 속도가 빠르다)

 

비휘발성 메모리

-롬, 하드디스크

 

컴퓨터의 한 개의 메모리 소자는 0 혹은 1 의 값을 보관할 수 있습니다. 이 이진수 한 자리를 가리켜 비트(Bit) 라고 합니다. 따라서, 1 개의 비트는 0 또는 1 의 값을 보관할 수 있겠지요. 사람들은 이렇게 8 개의 비트를 묶어서 바이트(Byte) 라고 부릅니다. 

8bit==1byte

 

0 부터 255 로 총 256 개의 수를 나타내게 됩니다.

 

그 다음 단위로 워드(Word) 라고 부르는 단위가 있습니다. 컴퓨터에서 연산을 담당하는 CPU 에는 레지스터(register) 라는 작은 메모리 공간이 있는데, 이곳에다가 값을 불러다 놓고 연산을 수행하게 됩니다.

예를 들어서 a + b 를 하기 위해서는 a  b 의 값을 어디다 적어놓아야지, a + b 를 할 수 있는 것처럼, CPU 에서 연산을 수행하기 위해 잠시 써놓는 부분을 레지스터라고 합니다.

이러한 레지스터의 크기는 컴퓨터 상에서 연산이 실행되는 최소 단위라고 볼 수 있고, 이 크기를 워드 라고 부릅니다. 32 비트 컴퓨터 시절에서는 이 1 워드가 32 비트, 즉 4 바이트 였지만, 지금 대다수의 여러분이 사용하는 64 비트 컴퓨터의 경우 1 워드가 64 비트, 즉 8 바이트가 됩니다.

 

 

3.변수란 무엇인가

 

변수를 통해서 메모리에 내가 직접하지 않고 편리하게 여러개를 바꿀수 있다.

 

int 는 대충 4byte 정도

float 4byte

double 8byte

char 1byte

 

int a라고 한 순간 a를 int라는 것으로 쓸게요 라고 말하는 것.

%f로 출력하면 똥값이 나오게 된다. a는 int로 인식되기 때문

 

주의)

%f사용시 항시 .을 사용할것.

 

.2f 란 2자리 소수점까지 나타내라는 의미

6.2f는 6자리 수 이되, 2자리 소수점까지 나타내란 의미

6d는 6자리수로 나타내라는 의미

단, 7자리인데 6d라 말하면 그냥 7자리 풀로 나옴.

 

하나는 띄어쓰기를 _ 로 나타내는 방식으로

int this_is_some_variable;

이 방식을 쓰자