본문 바로가기
C#/데이터 갖고 놀기

[C#] 정수 형식, 진수 변환 등

by 과아아앙 2021. 3. 23.
using System;

namespace CSharp
{
    class Program
    {
        //여기에 주석을 달 수 있음
        /* 사이에 주석을 달 수 있습니다. 여러 줄 짜리 주석*/
        static void Main(string[] args)
        {
            // 데이터 + 로직
            // 체력 0

            // 1. 바구니 크기가 다른 경우!
            int a = 0xFFFF;
            short b = (short)a;

            // 2. 바구니 크기는 같긴 한데, 부호가 다를 경우
            byte c = 255;
            sbyte sb = (sbyte)c;
            // underflow, overflow
            // 0xFF = 0b11111111 = -1

            // 3.소수
            float f = 3.1414f;
            double d = f;

            // byte(1바이트 0~255), short(2바이트 -3만~3만), int(4바이트 -21억~21억), long(8바이트)
            // sbyte(1바이트 -128~127), ushort(2바이트 0~6만), uint(4바이트 0~43억), ulong
            // 바이트에 따른 구분이 있는 이유는 메모리 때문!
            
            // 10진수
            // 00 01 02 03 04 05 06 07 08 09 
                // 10

            // 2진수
            // 0~1
                // 0b00 0b01 0b10 0b11 0b100
                // 0b10001111 = 0x8F
                
            // 16진수
            // 0~9 a b c d e f
                // 0x00 0x01 0x02 .. 0x0F
                    // 0x10
            // 2진수와 16진수 사이의 변환은 쉽다. 4자리씩 끊어서 변환하면 된다.
            
            // int hp;
            // short level = 100;
            // id계열은 long을 사용하는 것이 편함. ex)아이템
            // long id;
            // hp = 100;

            // 문명 간디 공격성 일화
            // 평화 수치가 올라가면서 공격수치가 낮아짐.
            // 언더플로우 발생, 공격성 최댓값으로 수정.
            //byte attack = 0;
            //attack--;

            //1바이트(참/거짓)
            // bool b;
            // b = true;
            // b = false;

            //소수
            // 4바이트
            // float f = 3.14f;
            // 8바이트
            // double d =3.14;

            // 2바이트
            // char c = 'a';
            // string str = "Hello World";

            // Console.WriteLine(str);

            //Console.WriteLine("Hello Number ! {0}", attack);
        }
    }
}

'C# > 데이터 갖고 놀기' 카테고리의 다른 글

[C#]데이터 마무리  (0) 2021.03.25
[C#]비트 연산  (0) 2021.03.25
[C#]데이터 연산  (0) 2021.03.25