달력

12

« 2019/12 »

  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  


 

실수

·         소수부나 지수부가 있는 수를 가리킵니다.

·         소수점을 가진 숫자를 표현합니다.

·         정수보다 훨씬 넓은 표현 범위를 가집니다.

·         정수 표현방식보다 중요합니다.

·         실수는 오차 동반

 

 

 

실수 표현

실수 표현의 문제점

·         0 1사이의 실수만 해도 수가 무한대

·         단순히 바이트 정도로 모든 실수를 표현하는 것은 불가능합니다.

 

 

문제점에 대한 해결책

정확도를 포기하고, 대신에 표현할 있는 값의 범위를 넓히고 근사값을 사용합니다.

 

 

0 1 통한 정수와 실수 표현


1.1 1.2사이에도 무한 대의 실수값이 존재하므로 0 1로는 정확한 실수값을 표현할 없는 한계 있습니다.

실수를 표현하기 위한 한계를 해결하기 위해 근사치를 사용하게 됩니다.

실수형 데이터의 오차는 자바뿐만 아니라 모든 프로그래밍 언어에서 발생하는 공통된 문제입니다.

 

 

 

 

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

실수 자료형 선택 기준 (float vs double)

  • float와 double 모두 매우 충분한 표현 범위를 가지고 있지만
  • 이 둘의 가장 큰 차이점은 정밀도가 다릅니다.
  • 따라서 필요한 정밀도를 바탕으로 자료형을 결정해야 하며
  • 일반적으로 double 자료형 선택을 권장합니다.

 

   

   

Posted by codedragon codedragon

댓글을 달아 주세요

   

   

데이터의 표현 범위를 구하는 공식

n

비트 수(1바이트는 8비트)

-2n-1

최소값(MIN)

2n-1-1

최대값(MAX)

   

   

 

기본 자료형의 메모리 크기

구분

종류

메모리 크기

데이터 표현 범위

정수형

char

1byte

-128 ~ +127

정수형

short

2byte

-32768 ~ +32767

정수형

int

4byte

-2147483648 ~ +2147483647

정수형

long

4byte

-2147483648 ~ +2147483647

실수형

float

4byte

  

실수형

double

8byte

  

실수형

long double

8byte

  

  

'Development > C/C++' 카테고리의 다른 글

Code::Blocks - 오픈소스, 크로스 플랫폼 C, C++, Fortran IDE  (0) 2015.02.07
정수형의 오버플로우 & 언더플로우  (0) 2015.02.06
데이터의 표현 범위를 구하는 공식  (0) 2015.02.03
sizeof() 연산자  (0) 2015.02.02
자료형 종류  (0) 2015.02.01
자료형  (0) 2015.01.31
Posted by codedragon codedragon

댓글을 달아 주세요

   

double형 변수의 선언과 활용

   

 소스코드

  1.  public class VariableBoolean01 {
  2.    
  3.         public static void main(String[] args) {
  4.                  
  5.                 //boolean자료형은 true/false 저장가능
  6.                 boolean b1=true;
  7.                 boolean b2=false;
  8.                  
  9.                 System.out.println(b1);
  10.                 System.out.println(b2);
  11.                  
  12.                 //연산의 결과에 의한 true/false출력
  13.                 System.out.println(7<10);
  14.                 System.out.println(7>10);
  15.    
  16.         }
  17. }


   

 

출력결과

결과값이 33.0000003이 아니라 아래와 같이 정확한 결과값이 나오지 않습니다.

이는 자료형의 표현방식의 차이때문입니다.

   

Posted by codedragon codedragon

댓글을 달아 주세요

 

정수


자료형

키워드

크기

기본값

표현 범위

정수형

byte

1byte

0

-128~127

정수형

short

2byte

0

-32,768~32,767

정수형

int

4byte

0

-2,147,483,648

~2,147,483,647

정수형

long

8byte

0

-9,223,372,036,854,775,808

~9,223,372,036,854,775,807


    

 

정수의 표현(양의 정수 기준)


·       가장 왼쪽 비트인 MSB(Most Significant Bit)는 부호를 나타냅니다.

·       MSB를 제외한 나머지는 크기(데이터 크기)를 나타냅니다.

·       바이트 크기의 차이는 표현범위의 차이를 나타냅니다.


   

   

   

1byte(8bit) 정수 표현 방법

  • 1byte로 양의 정수 26이 표현되었습니다.

   

표현 도식도

MSB

0

양수

데이터 크기

0 0 1 1 0 1 0

26

   

   

   

정수의 표현(음의 정수 기준)

  • 양의 정수 표현방식과 다릅니다..
  • 양의 정수와의 합이 0이 되는 구조로 정의되어 집니다.
  • 2의 보수가 음의 정수 표현방식입니다.

   

   

정수 26을 음의 정수표현인 2의 보수로 만들기

   

   

-26 검증하기

   

  

Posted by codedragon codedragon

댓글을 달아 주세요