본문 바로가기
반응형

C언어/자료형 (숫자,논리,문자)12

[C언어] 컴퓨터가 문자를 나타내는 방법 (아스키 코드) c언어에서 문자를 입력하면 정수로 저장됩니다. 우리가 볼 때는 문자와 정수의 차이가 있지만 컴퓨터가 인식하기에는 똑같습니다. C언어가 문자를 나타내는 방식은 각 문자를 정수에 대응시켜 사용하는 것입니다. 이렇게 대응시켜놓은 규칙이 아스키코드입니다. 아래는 몇가지 예시입니다. 97 a 98 b 99 c 100 d 우리가 C언어에 a라고 입력하면, C언어는 97이라는 정수로 받아들입니다. 그렇다면 정수와 문자를 어떻게 구분할까요? 서식문자로 구분합니다. %c 들어보셨죠? a를 선언하고 출력해봅시다. #include int main() { char c1='a'; printf("%d \n",c1); printf("%c \n",c1); } 정수로 출력하면 97이 출력되고, 문자로 출력하면 a가 출력됩니다. 2022. 7. 21.
[C언어] 자료형 한눈에보기 대표적으로 사용하는 자료형입니다. long double 형의 길이는 컴파일러마다 다릅니다. 2022. 7. 8.
[C언어] 자료형의 크기를 확인하는 방법 sizeof 함수를 사용합니다. 다양한 자료형의 크기를 출력해보겠습니다. #include int main () { char a; short b; int c; long d; long long e; printf("char: %ld \n",sizeof(a)); printf("short: %ld \n",sizeof(b)); printf("int: %ld \n",sizeof(c)); printf("long: %ld \n",sizeof(d)); printf("long long: %ld \n",sizeof(e)); } 아래는 출력결과입니다. 2022. 7. 8.
[C언어] 정수 표현 범위 쉽게 이해하기 (왜 음수가 더 많나) 4비트로 정수를 표현하면 아래 범위를 표현할 수 있습니다. $-2^3 \sim 2^3-1$ 이때 이와 같은 설명을 하는 경우가 있습니다. 맨 앞은 부호비트이므로, 실제 사용할 수 있는 비트는 3비트이다. 양수는 0을 포함해야 하므로 $2^3-1$ 까지 가능하고, 음수는 0을 포함하지 않으므로 $-2^3$ 까지 가능하다. 결과적으로 맞는 말이긴 한데 정수가 2의 보수법이라는 것을 아는 분들은 위 설명이 바로 와닿지는 않을 겁니다. 여기서는 2의 보수법을 고려하여 위 범위를 설명해보려고 합니다. 2의 보수법이 무엇이지 모르는 분들은 링크 의 글을 먼저 보고오시기 바랍니다. 아주 단순한 2비트에서 이해해봅시다. 2비트에서 1은 아래와 같습니다. $01_{(2)}$ 0은 아래와 같습니다. $00_{(2)}$ 이.. 2022. 7. 8.
[C언어] 2의 보수법 아주 쉽게 이해하기 (정수의 표현방식) 컴퓨터가 정수를 표현하는 방식을 알아봅시다. 먼저 우리가 정수표현방식을 직접 정해보고 어떤 문제가 발생할 수 있는지 경험해봅시다. 단순화하기 위해 4비트를 가지고 정수를 표현한다고 가정합시다. 정수는 양수와 음수가 있으므로 첫번째 칸을 부호로 설정해야겠다고 생각하는 것이 자연스럽습니다. 0을 양수, 1을 음수라고 합시다. 3과 -3을 표현하면 아래와 같습니다. 둘을 더해봅시다. 우리가 원하는 결과가 아닙니다. 위와 같은 표현방식을 사용할 경우 덧셈 뺄셈이 자연스럽지 않습니다. 2의 보수법의 등장 위 문제를 해결하기 위해 등장한 방법이 2의 보수법입니다. -3을 2의 보수법으로 표현하면 아래와 같습니다. 위 그림을 보고 1의 보수가 무엇인지 알겠다고 생각하실 수 있지만 아닙니다. 1의 보수는 더 복잡한 개.. 2022. 7. 8.
[C언어] 정수로 정수를 나누면? 아래 예시를 봅시다. int main() { int A=10; int B=20; int C=18; int D=12; printf("B/A : %d \n",B/A); printf("C/A : %d \n",C/A); printf("D/A : %d \n",D/A); } 코드를 실행하면 아래와 같습니다. 각각의 실제 계산결과는 아래와 같습니다. B/A = 2 C/A = 1.8 D/A = 1.2 정수형끼리 계산한 결과에서는 소수점을 날리는 것을 알 수 있습니다. 2022. 3. 3.
[C언어] int 변수를 char 로 바꾸면 벌어지는 일 아래와 같이 int 변수를 하나 정의하고, char로 바꿔봅시다. #include int main() { int num1=1024; char num2=1024; printf("num1 : %d \n",num1); printf("ch1 : %d \n",num2); } 결과는 아래와 같습니다. 0이 출력됩니다. char는 8비트인데, 1024는 비트로 표현하면 아래와 같습니다. 10000000000 뒤 8자리만 출력된 것이니 00000000 이됩니다. 2022. 3. 3.
[C언어] 문자와 문자열 C언어에서 문자와 문자열은 다릅니다. 문자는 하나의 문자이고, 문자열은 여러 문자의 조합입니다. 문자 : A 문자열 : HELLO 문자와 문자열을 정의해봅시다. #include int main() { char ch1='A'; char ch2="B"; char ch3="ABC"; } 실행하면 아래와 같은 경고가 발생합니다. 문자는 작은따옴표를 사용해야합니다. 아래와 같이 수정합니다. #include int main() { char ch1='A'; char ch2='B'; char ch3="ABC"; } 경고가 하나 남았습니다. 문자열인 ABC 는 아래와 같이 char* 형태로 정의해주어야 합니다. 포인터라는 것인데 나중에 배우도록 합시다. #include int main() { char ch1='A'; c.. 2022. 3. 2.
[C언어] 문자 자료형과 아스키코드 컴퓨터는 0과 1만을 표현할 수 있습니다. 우리가 사용하는 숫자를 컴퓨터에 입력하기 위해 이진법을 이용했습니다. 문자는 어떻게 입력해야 할까요? 문자는 숫자에 대응시켜서 입력합니다. 문자를 숫자에 대응시키는 표준이 있는데요. ANSI 에서 만든 아스키입니다. 아스키(ASCII) : American Standard Code for Information Interchange 몇가지 예를 들면 아래와 같습니다. 33 : ! 35 : # 37 : % 우리가 문자를 입력하면 컴퓨터에서는 숫자로 변환하여 저장합니다. 아래 예시를 봅시다. #include int main() { char A; A='!'; printf("%d \n",A); printf("%c",A); } ! 라는 문자를 정수형태로 출력하면 33이 출력.. 2022. 3. 2.
[C언어] 정수 자료형의 종류와 출력형식 정수 자료형을 정의할 때 아래와 같이 선언하고 나서 정의합니다. int var; var=3; int var 은 var 라는 변수를 정의할 것인데, 자료형을 int 로 사용할 것이라는 뜻입니다. int 는 정수자료형이고, 4바이트를 사용합니다. 정수자료형은 int 외에도 아래와 같이 여러가지가 있습니다. Type Size(byte) 범위 출력형식 char 1 -128~127 %c short 2 -32768~32767 %hd int 4 -2147183648~2147483647 %d long 4 -2147183648~2147483647 %ld long long 8 -9223372036854775808~9223372036854775807 %lld 부호가 없는 unsigned 도 있는데 생략합니다. 아래와 같이 .. 2022. 2. 28.
[C언어] 정수의 표현 (비트와 바이트) 컴퓨터가 정수를 어떻게 표현하는지 알아보겠습니다. 그 전에 비트와 바이트에 대해 공부해봅시다. 비트와 바이트 컴퓨터에서 자료를 저장 가장 작은 단위가 비트(bit) 입니다. 0 또는 1이라는 이진수 값을 저장합니다. Binary Digit 을 줄여서 bit라고 부릅니다. 비트가 8개 모인 것을 바이트(Byte)라고 합니다. C언어에서 하나의 정수를 표현할 때는 4 바이트를 사용합니다. 정수의 표현에서 왜 비트와 바이트를 먼저 이야기했는지 아시겠죠? int는 몇비트일까 우리는 정수인 변수를 만들 때, int 라는 코드를 앞에 붙여주었습니다. int 자료형인 변수가 가질 수 있는 메모리 크기가 4바이트이고, 비트로 환산하면 32비트입니다. 32비트는 2^32개의 표현이 가능합니다. 계산하면 4,294,967.. 2022. 2. 28.
[C언어] 자료형의 종류 자료형은 자료의 형태이다. 우리가 컴퓨터에 입력하는 자료는 크게 두가지다. 숫자 아니면 문자다. 숫자는 정수,실수로 나뉜다. 컴퓨터에서만 사용되는 중요한 자료형이 하나 더 있는데 '논리형'이다. 참/거짓 두가지 원소로 만들어진 자료형이다. 정리해 보면 자료형의 종류는 아래와 같다. 1) 숫자형 (정수, 실수) 2) 문자형 3) 논리형 정수형 변수를 선언하는 방법은 아래와 같다. int는 integer 의 줄임말이다. int var1 실수형은 아래와 같다. double var2 문자형은 아래와 같다. char var3 C언어에서 논리형은 정의되어있지 않다. 다른 방법으로 만들어 사용하는데, 이후에 배워보도록 하자. 2022. 2. 24.
반응형