매일 한 걸음 더

  • 홈
  • 태그
  • 방명록

CS/컴퓨터구조 1

1.1 + 0.2 = 1.3 이 아니다? 부동소수점

다음은 자바 코드이다. 1.1 + 0.2 = 1.3이 아니라고 나온다. 왜 그럴까? 이는 컴퓨터의 데이터 저장법을 살펴봐야 한다. 위의 정보들은 주기억장치인 RAM에 저장된다. 그리고 이 RAM은 0과1인 2개의 숫자로 이루어진 정보만이 저장 한다. 일반적인 숫자들은 이진법으로 변환해서 저장하면 될 것이다. 숫자 8을 저장 한다고 하면 다음과 같을 것이다. 그렇다면 소수는 어떤식으로 저장할까? 부동소수점(floating point)표현 방식을 사용하고 가장 널리 쓰이는 표현방식은 IEEE751표준이라고 한다. 소수점을 기준으로 앞자리와 뒷자리에 여러 가공이 일어나는 데, 문제는 소수점 뒷자리를 이진화해서 저장하는 부분에서 일어난다. 실제로는 순환소수처럼 끝나지 않는 수 이지만, 32bit라는 한정된 공간..

CS/컴퓨터구조 2024.04.16
1
더보기
프로필사진

내 언어로 모두가 알아듣게!

  • 분류 전체보기 (107)
    • 종목토론게시판이 있는 SNS 프로젝트 (4)
    • Spring & Boot (12)
    • 데이터베이스 (8)
    • 네트워크 (4)
    • JPA (4)
    • 알고리즘 (3)
    • DevOps (1)
    • CS (13)
      • 운영체제&네트워크 (9)
      • 컴퓨터구조 (1)
      • 소프트웨어공학 (3)
    • 언어 (21)
      • Java (18)
      • Python (3)
    • 에러노트 (6)
    • 개발공부 (9)
    • 개발회고록 (13)
    • 고찰 (4)
    • 기타 (5)

최근글과 인기글

  • 최근글
  • 인기글

Calendar

«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
github

Copyright © KimGunTae. All rights reserved.

티스토리툴바