4바이트 부동 소수점 숫자가 포함된 이진 파일이 있습니다. 를 사용하여 이러한 부동 소수점 숫자를 인쇄하고 싶습니다 od
. 그러나 od
첫 번째 위치에는 추가 값이 인쇄됩니다. 여기서 무슨 일이 일어나고 있는 걸까요?
파일은 다음과 같습니다.
xxd test | head -1
0000000: 932a 6541 7cdf 6b41 6c7e 7141 d779 7641 .*eA|.kAl~qA.yvA
od
이것을 인쇄하세요:
cat test | od -f -An -v -w4 | head -2
14,322894 14,742062
첫 번째 인쇄된 값(14.32)은 다음과 같습니다.아니요파일의 첫 번째 값입니다. 두 번째로 인쇄된 값(14.74)은 파일의 실제 첫 번째 값입니다. 여러 Hex Editor로 확인했습니다.
932a 6541
14.74206(또는 그에 매우 가까운 값)입니다. 그렇다면 od
추가 가치(14.32)는 어디서 오는 걸까요? 이는 다른 모든 옵션이 생략된 경우에도 발생합니다.
cat test | od -f | head -2
0000000 14,322894 14,742062 15,093365 15,404746
0000020 15,652825 15,938543 16,25734 16,616056
답변1
od
맞다. 내 예상 출력은 내가 선택한 것과 다른 부동 소수점 값을 표시하는 두 개의 16진수 편집기를 기반으로 합니다. @schily에게 감사드립니다. 처음 4바이트가 실제로 14.32를 나타낸다는 점을 지적하셨으니 맞습니다 od
.