자 C언어에서는 배우지 않았던 것을 배워 볼까 합니다.

C언어에서 배운 것은 int와 void(생략가능)이 전부 였습니다.

하지만 C#에서는 byte, sbyte, short, ushort, int, uint, long, ulong, char이렇게 다양한 선언이 존재합니다.

그러면 간단하게 각각이 무엇을 뜻하게 되는 것인지를 알아보는 것으로 합시다.

일단 char을 빼고는 전부 숫자를 저장하는 변수 선언 입니다.

그러면 왜?? 이렇게 많은 것을 필요로 하는지???에 관하여 설명을 하도록 하겠습니다.

프로그래밍을 할때 메모리를 신경쓰고 작성을 하고 그럽니다.

변수를 선언을 하면 공간을 만들게 되는데 이것을 통하여 사용할 메모리 용량을 배정받고는 합니다.

그래서 일단 이렇게 다양하게 존재하는 것 입니다.

byte 는 0~255까지의 값을 저장할 수 있게 합니다.

sbyte는 -128~127까지의 값을 지정할 수 있게 합니다.

short는 -32,768~32,767까지의 값을 지정이 가능합니다.

ushort는 0~65,535사이의 값을 지정합니다.

int는 가장 흔한 선언인데 -2,147,483,648~2,147,483,648사이의 값을 저장합니다.

uint는 int의 범위랑 비슷합니다. 물론 0에서 시작을 하지만요.

그래서 범위는 0~4,294,967,296인데 이제 슬슬 짐작이 가시리라고 생각을 합니다.

long는 -922,337,203,685,477,508~922,337,203,685,477,508의 사이에 존재하는 값을 저장할 변수를 선언하는 것 입니다.

ulong은 922,337,203,685,477,508이거의 두배가 되는 것이겠죠??

0~1,844,674,407,370,955,016의 사이의 값입니다.

마지막으로 아까 말을 하였던 char입니다.

유니코드를 저장하는데 유니코드라는 것은 한글이나 그런 문자같은 것을 저장하는 것을 말합니다. 문양같은 것도 해당이 되겠지요.

자 이제 하나씩 사용을 해봅시다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
namespace static_ex {
  class MainAp {
    static void Main(string[] args) {
      sbyte a = -30;
      byte b = 85;
      Console.WriteLine("a={0}, b={1}", a, b);
      short c = -23451;
      ushort d = 32452;
      Console.WriteLine("c={0}, d={1}", c, d);
      int e = -35626943;
      uint f = 234513593;
      Console.WriteLine("e={0}, f={1}", e, f);
      long g = -342649240561;
      ulong h = 3294058249501859403;
      Console.WriteLine("g={0}, h={1}", g, h);
    }
  }
}
cs

자 이런식으로 선언이 전부 가능합니다.

선언을 하게 되면 출력은 전부 이렇게 나옵니다.

그래서 여기서 궁금한 것이 생깁니다. byte에 256의 값을 저장한다면?? 어떤일이 벌어질까요??

오류코드가 뜹니다. 할 수 없다고요.... 네 못합니다.

그러면 저는 이만 가보도록 하겠습니다.

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,