본문 바로가기
소프트웨어 다이어리/C 언어

HEX to Float ( Float to HEX )

by 연대디 2023. 2. 26.

프로그램을 하다가 보면 어떤 값을 자료형을 변환해줘야 하는 경우가 무수히 많다. char, unsigned char, int, unsigned int, short, long, float, double 등 자료처리를 위해 여러 번 변환해서 사용하는 경우가 많은데 변환과정에서의 오류나 실수도 많이 발생한다. 그중에서 오늘은 최근에 막내가 물어본 float을 HEX, HEX를 float으로 처리하는 방법을 간단하게 정리해 봅니다.

 

1.  float 4 bytes

floatToHez
Float 4byte

  • 예를 들어 2.64579를 이진수로 변환하면 10.10100101010100101 인데 양수이므로 부호는 0
  • 지수부는 1.010100101010100101 x 2^1 이므로 127 + n  에 의해 128 = 0x10000000
  • 가수부는 01010010101010010100000

2. Float to Hex 변환 사이트

Flaot to Hex 변환 사이트: Floating Point to Hex Converter (gregstoll.com)

 

Floating Point to Hex Converter

 

gregstoll.com

 

3. Float to Hex ( Hex to Float ) 

비트 연산과 포인터로 어렵게 계산하지 않고 아래와 같이 union 공용체 사용하면 계산 없이 사용 가능하다.

float 타입 변수를 float_vlaue에 입력 후 Hex타입 변수를 사용이 필요할 때 hex_value를 사용해서 데이터 처리하는 방법

union hex_to_float_union
{
	unsigned int hex_value;
	float float_value;
};

 

댓글