안녕하세요 다시 한번 도움 부탁드립니다.
4Byte($3D01E80F)를 Floating Value로 나타내는건 아래의 코딩가 같이
하면 결과는 3D01E80F ==> 0.032가 나옵니다.
var
I: Integer;
S: Single;
begin
I := $3D01E80F;
Move(I, S, SizeOf(I));
ShowMessage('Value: ' + FormatFloat('0.###', S));
end;
그런데 이걸 반대로 하려면 어떻게 해야 하는지요?
0.032 ==> 3D01E80F 변환하려면 어떻게 하는지 도움부탁드립니다.
참고로...
0.032가 $3D01E80F이지는 않습니다. 0.32뒤에 많은 소수값들이 들어가 있습니다. 단지 보기 쉽게 FormatFloat로 소수점 3자리까지만 표현한것일뿐...
0.032<>$3D01E80F
0.0317154489457607=$3D01E80F
<!--CodeS-->
var
S: Single;
I: Integer;
begin
S:= 0.0317154489457607;
Move(S, I, SizeOf(I));
ShowMessage('Value: ' + IntToHex(I, 8));
end;
<!--CodeE-->