1. 들어가며
    1. 이진수 → Bit
    2. 3개의 가장 중요한 숫자 표현
      1. 비부호형 인코딩 : 전통적인 이진수 표시
        1. 0 이상의 수를 표시
      2. 2의 보수 인코딩
        1. 양수 또는 음수 갑을 갖는 부호형 정수를 표시하는 가장 일반적인 방법
      3. 부동 소수점 인코딩
        1. 2진수 버전의 소수를 표시하기 위한 과학적 표시 방법
    3. 컴퓨터는 하나의 수를 인코딩하기 위해 제한된 개수의 비트 사용
      1. 결과값을 표시할 수 없을 정도로 커서 Overflow 발생

        Overflow가 나는 경우

        Overflow가 나는 경우

        Screenshot 2025-07-20 at 01.45.07.png

      2. 정수 연산 특성에 위배되는 결과

    4. 부동소수점 연산의 경우, 완전히 다른 수학적 특성을 가짐
      1. 양수들 간의 곱은 항상 양수 But,
      2. Overflow의 경우 +∞ 를 만들어냄
      3. 수의 제한된 정밀도 때문에 교환 법칙 성립하지 않음
        1. 정밀도란 : 부동소수점 자료형인 float & double의 경우 신뢰 가능한 표현 범위

          1. 참고로, I/O Stream과 연관되어 있는데,
          2. 자료형의 표현가능한 범위 내 근사치가 되며 출력 스트림 정밀도 표현 범위에 따라 반올림 처리하여 출력

          자료형별 정밀도의 확인을 위한 코드

          자료형별 정밀도의 확인을 위한 코드

          Screenshot 2025-07-20 at 02.02.27.png

          • 참고자료
      4. 결론적으로,
        1. 정수 표현은 비교적 작은 범위의 값을 인코딩 But, 매우 정밀
        2. 부동 소수점 표시는 넓은 범위의 값을 근사값으로 인코딩
  2. 정보의 저장
    1. 8Bit = 1Byte
    2. Machine Level Program은 Virtual Memory라고 부르는 거대한 바이트의 배열로 취급
      1. Memory의 각 바이트는 주소가 있음
      2. 모든 가능한 주소들의 집합 == Virtual Address Space
    3. 이진수로 표시할 경우
      1. 00000000 ~ 11111111 ⇒ (0 ~ 255)
      2. But, 2진수는 너무 장황 + 10진수는 너무 변환이 불편
      3. 때문에 등장한 Hexadecimal Code