SlideShare una empresa de Scribd logo
1 de 16
CODE
 Ch 23
Chapter 23

고정소수점과 부동소수점
숫자….?

일상 생활에서 정수, 분수, 퍼센트 같은 숫자들과 생활함

정수  분수 간의 변환?

컴퓨터 메모리 상에선 간단하지 않다!
수의 범위?
복소수 = 실수 + 허수(음수의 제곱근)

실수 = 정수 + 유리수 + 무리수


정수 : 양의 정수 , 0 , 음의 정수

정수를 이진수로 표현할 때의 범위
유리수 : 두 수의 비율로 나타낼 수 있는 수

Ex) ¾ , 0.25, 42705.684
무리수 : 실수 중에서 유리수가 아닌 수

Ex) 파이, 루트2




파이 =




        에서 n이 무한대로 늘어날경우 근사값
고정 소수점 형식

32비트를 이용해 양의 정수를 표현할 경우

4294967295 까지 표현 가능


4.5 의 경우? 다른 접근 방법이 필요 => BCD 사용
BCD 표기법 :

각 자리의 10진 숫자를 동등한 2진수
(4비트) 로 대체하여 표기하는 것




  -4325120.25 를 BCD 표기법으로 표기할 경우
고정소수점 형식 : 소수점의 위치가 특정 위치로 고정되어 있음

장점 :

1) 소수점 이하 자릿수를 얼마든지 만들 수 있음

2) 하나의 컴퓨터 프로그램에서도 다양한 자리의
소수를 가지는 고정 소수점 수를 만들 수 있음

단점 :

1) 산술 연산이 일어나는 경우 소수점의 위치를 반드시 알아야 함

2) 수가 너무 크거나 작을 경우 저장 공간의 크기가 커짐
부동 소수점 형식


490,000,000,000 =
                      정규 형식이라고 부름
       4.9 : 가수부

       11 : 지수부 => 가수부에 있는 소수점이 얼마나 이동할 지 알려줌
부동소수점 형식을 컴퓨터에서 사용할 경우


이진수 101.1101 의 경우




                           십진수 5.8125




가수부는 1과 같거나 크며 10보다 작음

가수부에서 소수점 윗자리의 수는 항상 1
IEEE에서 발표한 부동 소수점 표준


 단정도 :




e = 0, f = 0 => 0

e = 0, f != 0 => 정규화 되지 않은 경우

e = 255, f = 0 => 양수 혹은 음수 무한대

e = 255, f != 0 => 숫자가 아님 (NaN) 연산이 잘못되어서 알 수 없는 숫자
단정도 부동소수점 형식에서 나타낼 수 있는 가장 작은 수




단정도 부동소수점 형식에서 나타낼 수 있는 가장 큰 수




 10자리 이진수를 대략 3자리 십진수와 비슷하다고 가정


      단정도 형식은 24비트, 7자리 십진수 정도의 정밀도를 제공
24비트 정밀도?????????????


    16777216 , 16777217 , 16777216.5

     4B800000h 로 동일하게 저장

     0 10010111 00000000000000000000000




  다음으로 표시할 수 있는 가수 값은 16777218
정밀도를 높이기 위한 표준법 배정도




정밀도를 높였을뿐 가수부 소수부분을 넘어가면

어떤 숫자는 다른 숫자와 동일하게 저장될 수 있음

따라서 돈의 금액과 같이 정확도가 매우 중요한 값을 저장할 때는 고정소수점 사용



   부동소수점 연산에 대한 연산 ? 정수에 대한 사칙연산으로 나누어짐

   연산에 대한 속도를 높이기 위해 하드웨어에서 보조 프로세서 제공
The End…..

Más contenido relacionado

Destacado

프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어Bizmerce Corp
 
Clean code chapter1
Clean code chapter1Clean code chapter1
Clean code chapter1ukjinkwoun
 
Clean code chapter9
Clean code chapter9Clean code chapter9
Clean code chapter9ukjinkwoun
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)Jay Park
 
腦與暴力行為
腦與暴力行為腦與暴力行為
腦與暴力行為lys167
 
읽기 좋은 코드가 좋은코드다
읽기 좋은 코드가 좋은코드다읽기 좋은 코드가 좋은코드다
읽기 좋은 코드가 좋은코드다wonmin lee
 
Frenchweb 500 - Le classement des 500 premières entreprises de la Tech frança...
Frenchweb 500 - Le classement des 500 premières entreprises de la Tech frança...Frenchweb 500 - Le classement des 500 premières entreprises de la Tech frança...
Frenchweb 500 - Le classement des 500 premières entreprises de la Tech frança...FrenchWeb.fr
 
Encuentro3 clase2estintmat4113
Encuentro3 clase2estintmat4113Encuentro3 clase2estintmat4113
Encuentro3 clase2estintmat4113Miguel Ciprian
 

Destacado (8)

프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
 
Clean code chapter1
Clean code chapter1Clean code chapter1
Clean code chapter1
 
Clean code chapter9
Clean code chapter9Clean code chapter9
Clean code chapter9
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)
 
腦與暴力行為
腦與暴力行為腦與暴力行為
腦與暴力行為
 
읽기 좋은 코드가 좋은코드다
읽기 좋은 코드가 좋은코드다읽기 좋은 코드가 좋은코드다
읽기 좋은 코드가 좋은코드다
 
Frenchweb 500 - Le classement des 500 premières entreprises de la Tech frança...
Frenchweb 500 - Le classement des 500 premières entreprises de la Tech frança...Frenchweb 500 - Le classement des 500 premières entreprises de la Tech frança...
Frenchweb 500 - Le classement des 500 premières entreprises de la Tech frança...
 
Encuentro3 clase2estintmat4113
Encuentro3 clase2estintmat4113Encuentro3 clase2estintmat4113
Encuentro3 clase2estintmat4113
 

Más de ukjinkwoun

Chapter 1 0 이야기
Chapter 1 0 이야기Chapter 1 0 이야기
Chapter 1 0 이야기ukjinkwoun
 
Head first chapter 1
Head first chapter 1Head first chapter 1
Head first chapter 1ukjinkwoun
 
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장ukjinkwoun
 
대규모 서비스를 지탱하는 기술 Ch 4
대규모 서비스를 지탱하는 기술 Ch 4대규모 서비스를 지탱하는 기술 Ch 4
대규모 서비스를 지탱하는 기술 Ch 4ukjinkwoun
 
프로그래머로 사는법 챕터16
프로그래머로 사는법   챕터16프로그래머로 사는법   챕터16
프로그래머로 사는법 챕터16ukjinkwoun
 
프로그래머로 사는법 챕터9
프로그래머로 사는법   챕터9프로그래머로 사는법   챕터9
프로그래머로 사는법 챕터9ukjinkwoun
 
프로그래머로 사는법
프로그래머로 사는법프로그래머로 사는법
프로그래머로 사는법ukjinkwoun
 
대규모 구조
대규모 구조대규모 구조
대규모 구조ukjinkwoun
 
도메인 객체의 생명주기
도메인 객체의 생명주기도메인 객체의 생명주기
도메인 객체의 생명주기ukjinkwoun
 

Más de ukjinkwoun (11)

Chapter 1 0 이야기
Chapter 1 0 이야기Chapter 1 0 이야기
Chapter 1 0 이야기
 
Head first chapter 1
Head first chapter 1Head first chapter 1
Head first chapter 1
 
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
 
대규모 서비스를 지탱하는 기술 Ch 4
대규모 서비스를 지탱하는 기술 Ch 4대규모 서비스를 지탱하는 기술 Ch 4
대규모 서비스를 지탱하는 기술 Ch 4
 
코드 Ch20
코드 Ch20코드 Ch20
코드 Ch20
 
코드 Ch4
코드 Ch4코드 Ch4
코드 Ch4
 
프로그래머로 사는법 챕터16
프로그래머로 사는법   챕터16프로그래머로 사는법   챕터16
프로그래머로 사는법 챕터16
 
프로그래머로 사는법 챕터9
프로그래머로 사는법   챕터9프로그래머로 사는법   챕터9
프로그래머로 사는법 챕터9
 
프로그래머로 사는법
프로그래머로 사는법프로그래머로 사는법
프로그래머로 사는법
 
대규모 구조
대규모 구조대규모 구조
대규모 구조
 
도메인 객체의 생명주기
도메인 객체의 생명주기도메인 객체의 생명주기
도메인 객체의 생명주기
 

코드 Ch23

  • 3. 숫자….? 일상 생활에서 정수, 분수, 퍼센트 같은 숫자들과 생활함 정수  분수 간의 변환? 컴퓨터 메모리 상에선 간단하지 않다!
  • 4. 수의 범위? 복소수 = 실수 + 허수(음수의 제곱근) 실수 = 정수 + 유리수 + 무리수 정수 : 양의 정수 , 0 , 음의 정수 정수를 이진수로 표현할 때의 범위
  • 5. 유리수 : 두 수의 비율로 나타낼 수 있는 수 Ex) ¾ , 0.25, 42705.684
  • 6. 무리수 : 실수 중에서 유리수가 아닌 수 Ex) 파이, 루트2 파이 = 에서 n이 무한대로 늘어날경우 근사값
  • 7. 고정 소수점 형식 32비트를 이용해 양의 정수를 표현할 경우 4294967295 까지 표현 가능 4.5 의 경우? 다른 접근 방법이 필요 => BCD 사용
  • 8. BCD 표기법 : 각 자리의 10진 숫자를 동등한 2진수 (4비트) 로 대체하여 표기하는 것 -4325120.25 를 BCD 표기법으로 표기할 경우
  • 9. 고정소수점 형식 : 소수점의 위치가 특정 위치로 고정되어 있음 장점 : 1) 소수점 이하 자릿수를 얼마든지 만들 수 있음 2) 하나의 컴퓨터 프로그램에서도 다양한 자리의 소수를 가지는 고정 소수점 수를 만들 수 있음 단점 : 1) 산술 연산이 일어나는 경우 소수점의 위치를 반드시 알아야 함 2) 수가 너무 크거나 작을 경우 저장 공간의 크기가 커짐
  • 10. 부동 소수점 형식 490,000,000,000 = 정규 형식이라고 부름 4.9 : 가수부 11 : 지수부 => 가수부에 있는 소수점이 얼마나 이동할 지 알려줌
  • 11. 부동소수점 형식을 컴퓨터에서 사용할 경우 이진수 101.1101 의 경우 십진수 5.8125 가수부는 1과 같거나 크며 10보다 작음 가수부에서 소수점 윗자리의 수는 항상 1
  • 12. IEEE에서 발표한 부동 소수점 표준 단정도 : e = 0, f = 0 => 0 e = 0, f != 0 => 정규화 되지 않은 경우 e = 255, f = 0 => 양수 혹은 음수 무한대 e = 255, f != 0 => 숫자가 아님 (NaN) 연산이 잘못되어서 알 수 없는 숫자
  • 13. 단정도 부동소수점 형식에서 나타낼 수 있는 가장 작은 수 단정도 부동소수점 형식에서 나타낼 수 있는 가장 큰 수 10자리 이진수를 대략 3자리 십진수와 비슷하다고 가정 단정도 형식은 24비트, 7자리 십진수 정도의 정밀도를 제공
  • 14. 24비트 정밀도????????????? 16777216 , 16777217 , 16777216.5 4B800000h 로 동일하게 저장 0 10010111 00000000000000000000000 다음으로 표시할 수 있는 가수 값은 16777218
  • 15. 정밀도를 높이기 위한 표준법 배정도 정밀도를 높였을뿐 가수부 소수부분을 넘어가면 어떤 숫자는 다른 숫자와 동일하게 저장될 수 있음 따라서 돈의 금액과 같이 정확도가 매우 중요한 값을 저장할 때는 고정소수점 사용 부동소수점 연산에 대한 연산 ? 정수에 대한 사칙연산으로 나누어짐 연산에 대한 속도를 높이기 위해 하드웨어에서 보조 프로세서 제공