Multi-Calculator

FIELD NOTE · DEVELOPER MATH

정수·부동소수점 계산 결과를 펌웨어와 비교하는 방법

개발자 계산기는 진법과 데이터 표현을 빠르게 확인하지만 C 언어의 형 변환, overflow와 하드웨어 부동소수점 동작까지 자동으로 재현하지는 않습니다. 계산 결과와 저장 형식을 구분해 사용하세요.

정수 진법

HEX, DEC, BIN은 같은 비트 패턴을 다른 문자로 표시합니다. 예를 들어 8비트 0xFF는 unsigned 255지만 two's complement signed 값은 -1입니다. 결과를 해석할 때 반드시 비트 폭과 signedness를 정해야 합니다.

부동소수점

IEEE 754 float는 대부분의 10진 소수를 정확히 저장하지 못합니다. 0.1 + 0.2 같은 결과는 표시 반올림과 내부 비트가 다를 수 있으며 NaN, infinity, subnormal도 별도로 취급됩니다.

검증 기준

  • 0, 최대값, 최상위 비트 경계를 시험합니다.
  • 나눗셈의 정수 truncation 여부를 확인합니다.
  • shift 수가 타입 폭 이상인지 확인합니다.
  • 계산 결과를 컴파일러와 디버거 표시값으로 교차 확인합니다.

FAQ

계산기 값과 C 코드가 왜 다른가요? JavaScript 수와 C 타입의 폭·변환 규칙이 다를 수 있습니다.

HEX 앞의 0은 의미가 있나요? 수치는 같지만 레지스터 폭과 패킷 길이를 표현할 때 중요합니다.

오버플로를 자동 반영하나요? 선택한 모드의 범위를 확인하고 대상 타입으로 직접 마스킹해야 합니다.

검토 범위: 표시 진법과 기본 수치 연산. 실제 결과는 대상 C 타입, 컴파일러 옵션과 MCU 연산 규칙을 우선합니다.