반응형

    컴퓨터의 데이터 2진수


    저희는 대화할 때는 우리만의 언어를 통해 소통을 하고 있습니다. 하지만 컴퓨터의 언어는 0과 1로 대화를 하고 있습니다. 왜냐하면 컴퓨터는 반도체로 이루어진 데이터를 이용합니다. 예를 들어 전구가 있다고 가정합시다.

     

     

     

     

     

     

     평소에 전구가 켜짐과 꺼짐과 둘로 나누어져 있습니다. 반도체도 한 부분이 켜진 부분과 꺼진 부분이 존재합니다. 이처럼 전구가 꺼짐과 켜짐으로 구분이 되는 것처럼 반도체도 꺼짐과 켜짐으로 구분이 됩니다.  그래서 컴퓨터는 꺼지면 0 켜지면 1로 표현되고는 합니다. 이렇게 0 또는 1로 표현할 수 있는 최소 단위를 비트(bit)라고 합니다.

     

     

    우리가 일상 생활에서 사용하는 진수는 10진수입니다.

    이해하기 쉽게 10진수를 2진수로 표현하면

     

    10진수 0 1 2 3 4 5 6 7 8 9
    2진수 0 1 10 11 100 101 111 1000 1001 1010

     

    이렇게 표현이 됩니다.

    미리 말해두자면 컴퓨터는 문자도 2진수로 표현합니다. A라는 값을 2진수로 1000001, 10진수로 표현하자면 65로 저장됩니다(아스키코드 기준). 

    2진수가 있듯이 여러 진수법이 있는데요. 대표 적으로 2진수 8진수 10진수 16진수가 있습니다.

     

    10진수 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    2진수 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000
    8진수 0 1 2 3 4 5 6 7 10 11 1 13 14 15 16 17 0
    16진수 0 1 2 3 4 5 6 7 8 9 A B C D E F 10

     

    프로그램에서는 2진수를 0B, 8진수 0, 16진수를 0X로 표기합니다.

     

    진수에 대해서 좀 더 자세히 설명받고 싶으시면

    Youtube : 각별 TV - 계산 (13:54)

    이 영상을 추천합니다. 게임을 통해서 재미있게 설명해서 지루하지 않고 설명 들을 수 있다고 생각합니다.

     

     

     


     

    변수란??


     그럼 데이터를 표현할 수 있지만 저장을 해야겠죠?

    인간은 뉴런(신경세포)을 통한 저장을 하지만 컴퓨터에는 다른 저장공간이 있습니다.

    예를 들어 렘, 하드 등 여러 가지로 저장합니다. 이 처럼 데이터를 저장하는 공간을 변수라고 합니다.

    컴퓨터를 쓰기 전 옛날에는 데이터 하나 만들기 어려웠습니다. 현재는 하드디스크를 1TB는 본으로 쓰지만

    10GB 넘는 컴퓨터는 보기 힘들었죠. 또한 램또한 1Gb가 되지 않았습니다. 그래서 컴퓨터의 데이터를 효율적으로 저장하기 위해서 변수라는 공간을 만들었습니다. 그래서 컴퓨터의 변수는 데이터의 크기 및 형태라고 생각하면 됩니다. 

     

    변수를 저장하려면 정수, 문자 등으로 저장을 합니다. 그래서 각각의 형태를 변수의 '자료형'이라고 합니다.

     

    leve 변수에 값 10을 넣습닏니다.

    이 처럼 변수 이름의 'level' 안에 값 10을 넣어 보려고 합니다.

    그러면 레벨은 정수이고 그 변수에 10을 저장합니다.

    간단하게 코드로 표현하면

     

    1
    2
    int level; //정수형 변수 'level'선언
    level = 10//값 10을 'level' 변수에 
    cs

     

    코드는 int는 정수를 나타내는 자료형입니다. level은 레벨을 의미하는 변수 이름입니다. 변수 이름 같은 경우 자유롭게 설정이 가능합니다

     

    금지 사항 예시

    예약어는 사용 불가능합니다.

    예약어: 자바에서 이미 사용 중인 언어(while, int, main 등)

    while, int, main, for, if, long, .... 등
    변수 이름은 숫자로 시작 불가능 합니다. 2019y, 1level, 1234abcd, 4day
    변수 이름은 영문자로 사용할수 있고 특수문자 중에서는 $,_만 사용가능 합니다. $won, _monster, Abcd, user1234

     

    '=' 기호의 경우 왼쪽과 오른쪽과 같다고 생각하시겠지만, 컴퓨터에서는 오른쪽 값을 왼쪽에 저장한다라는 것으로 사용합니다.

     

    이것을 이용하여 변수를 선언하고 출력하는 프로그램을 만들어 보도록 하겠습니다.

     

     

    1
    2
    3
    4
    5
    6
    7
    8
    package chapter4;
     
     
    public class VariablePrint { 
        public static void main(String[ ] args) {
            int level = 10//변수 선언과 동시에 
            System.out.println(level); }
    }
    cs

     

     

    이렇게 프로그램을 입력해봅시다.

    여기서는 위에 코드랑 다른 점이 있다는 것을 알 수 있습니다.

    다른 점은 변수를 지정함과 동시에 변수의 값을 저장시킬 수 있습니다.

    이것을 컴파일해서 실행해보면 결괏값이 출력됩니다.

     

     

     


    이번 강좌를 통해서 변수를 조금 맛보기로 보여드렸습니다. 다음 강좌서는 점도 깊게 변수에 대해서 알아보도록 하겠습니다.

     

    반응형
    Posted by 마즐사