c++ 10진수 중에 소수부분이있는 수를 2진수로 바꾸는 방법

gyxor의 이미지

c에서 부동소수점 float double 형을 공부하던중에 궁금해져서
질문을 드립니다.

특히 float 에서는
부호비트 1bit
지수부분 8bit
fraction 23bit
로 되어있는데요..

예를들어 123.456 을 2진수로 바꾸는 내부 과정이 어떻게
되는지 자세한 답변부탁드립니다