전체 글 (119) 썸네일형 리스트형 [Java] 데이터 손실과 정확성을 위한 타입 캐스팅 타입 캐스팅 (Type Casting)의 필요성모든 변수(Variable)와 리터럴(Literal)에는 타입이 존재한다. 타입마다 메모리 공간 할당량과 저장 형식이 다르다. 따라서 동일한 타입들만 연산이 가능하다. 이로써 다른 타입끼리의 연산이 필요할때, 형변환(Type Casting)을 통해 타입을 일치시킨 후에 연산을 해야한다.타입 캐스팅 방법타입 캐스팅 방법기본형(Primitive Type)에서 boolean 타입을 제외하고 나머지 타입들은 서로 타입 캐스팅이 가능하다. 그리고 참조 타입과 기본 타입의 타입 캐스팅은 저장한 값의 종류 달라 불가능하다. 참조 타입은 데이터의 주소를 저장하고, 기본 타입은 데이터 값 자체를 저장하고 있다. 아래처럼 타입 캐스팅은 변수명 왼쪽에 타입 캐스트 연산자인 (t.. [Java] 상수(Constant)와 리터럴(Literal) 상수 (Constant)상수란?상수(constant)는 변수(variable)와 마찬가지로 값을 저장할 수 있는 공간이지만, 변수와 달리 한번 값을 저장하면 다른 값으로 변경이 불가하다. 상수를 final 키워드 앞에 붙여서 선언하며, final은 지정된 저장 공간의 마지막 쓰기 값이란 뜻이다.final int MAX_INT = 1000;상수는 선언과 동시에 반드시 초기화해야한다. 선언 이후에 값을 변경하지 못하므로 의미가 없기때문이다. 또한 상수명은 대문자(upper case)로 하는게 암묵적인 관례이다.리터럴 (Literal)리터럴이란?수학에서는 변하지 않고 항상 일정한 수가 상수이다. 그러므로 1, 3, 'A' 값들은 상수이다. 프로그래밍에서는 '상수를 값을 한번 저장하면 변경 할 수 없는 공간'이.. [Java] 변수(Variable) 변수(Variable)란?수학에서 변수는 변하는 수이지만, 프로그래밍에서는 데이터을 저장할 수 있는 메모리 공간이고 데이터는 변경이 가능하다. 하나의 변수에 단 하나의 값만 저장이 가능하므로, 새로운 값을 저장하면 기존의 값을 없어진다.변수의 자료형 (Data Type of Variable)변수는 데이터의 타입에 따라 데이터가 저장될 공간의 크기와 저장 형식을 정의한 것이 자료형(Data Type)이다.자료형에서 표현에 대한 종류는 크게 정수형(int, short, byte, long), 실수형(float, double), 문자형(char), 논리형(boolean)으로 구분된다. 자료형에서 저장 방식에 대한 종류는 기본형(Primitive Type)과 참조형(Reference Type)으로 구분된다. 정.. 왜 1byte는 8bit일까? (ASCII, Unicode) 문자의 표현전기 신호는 전구의 빛이 ‘들어왔다/안들어왔다’ 하는것이 디지털 신호로 이진수인 ‘1/0’으로 변환되어 표현이 된다. 컴퓨터 초창기에는 데이터 저장 및 처리에 있어서 복잡한 연산을 다루기에는 제한이 많았기 때문에 1byte가 4bit 였다. 이후 데이터 처리의 요구사항이 증가하고, 더 많은 정보를 표현할 필요성이 생겼다. 이로써 컴퓨터는 사람이 인식할 수 있는 문자로 표현이 필요했다. 컴퓨터는 영어권에서 시작되고 발전되었기 때문에, 영문를 표현하는데 필요한 코드들의 숫자가 7bit ~ 8bit면 충분했다. 모든 기기마다 숫자와 문자가 각기 다르게 맵핑 되어 있다면, 데이터를 전송되었을때, 상호간에 데이터 불일치가 발생한다. 이를 표준화하기 위하여, 숫자와 문자가 맵핑되는 기준 표를 만들었다. .. 진법 변환과 음수의 2진 표현(부호 비트와 보수) 진법(Base)이란?Base는 한국말로 진법이다. 개발을 하다보면, Base64로 인코딩한 경험이 있을것이다. 이 뜻은 64진법으로 인코딩한다는 것이다. 먼저 진법에 대해 알아보자. 우리가 사용하는 수는 인도인들이 만들었다. 기호를 나타내여 수를 표시하는 기수법이 인도에서 발전되었다. 그것이 아라비아 숫자이며, 본래는 인도에서 만들어졌지만, 아리비아를 통해 유럽으로 건너갔었기 때문에 아리바아 숫자라고 불린다. 아리비아 숫자는 위치 기수법에 따른 십진법으로 수를 표시하는 인도 수체계이다. 여기서 N진법이란, N보다 작은 수의 반복적인 패턴으로 무한히 수를 표현하는 방법이다. 10진법은 0 ~ 9까지의 수로 반복하여 무한히 수를 표현할 수 있다. 주목할 점은 0이란 수를 이용하여, 1 ~ 9 까지수의 끝자리.. [Java] 부동 소수점 방식의 원리와 오차 실수형의 표현 방식컴퓨터에서 실수를 표현하는 방식으로는 대표적으로 고정 소수점 방식(Fixed-Point Number Representation)과 부동 소수점 방식(Floating-Point Number Representation)으로 나눌 수 있다.고정 소수점 방식 (Fixed-Point Number Representation)고정 소수점 방식은 정수부와 소수부의 자리수를 고정하는 것이다. 아래의 그림처럼 정수부는 15비트이고 소수부는 16비트로 고정되어있다. 이렇게 되면 정수부는 -2¹⁵ ~ 2¹⁵-1 밖에 표현을 못한다. 또한 이진수 소수점수 101.100101와 같이 소수부가 6 자릿수가 나올 경우에 나머지 10 자릿수가 낭비하는 메모리 공간된다. 이러한 메모리 공간 낭비를 줄이고 효율적으로 .. [Java] 정수형과 지역 변수 배열의 저장 방식 정수형 (Integer Type)의 종류정수형(Integer Type)에는 int, byte, short, long 타입이 있다. 각 타입의 특징은 다음과 같다.int일반적으로 정수형에서는 4byte의 int를 사용한다. byte, short 보다는 int가 연산에 최적화 되어있다. 그 이유는 아래에 설명하였다. bytebyte는 주로 이진 데이터를 다룰때 사용한다. 예전에는 CPU 32bit 아키턱처가 대다수 존재할때는 1byte는 4비트였다. 현재는 1byte는 8비트이다. shortC언어와 호환을 위해 추가되었고, 4byte인 int 기준으로 짧아서 short는 2byte이다. longlong은 8byte로, 4byte인 int 기준 보다 길어 long이다.byte, short 보단 intbyte.. 이전 1 ··· 12 13 14 15 다음