2012-03-31 4 views
-4

가능한 중복은 : TB 펄에 MB 변환


How do I get the size of a file in megabytes using Perl?

는 펄에서 TB에 MB를 변환하는 몇 가지 방법을 시도했지만 값은 펄 출력 및 온라인 계산기에 일치하지 않습니다.

위의 변환 할 수있는 공식은 무엇입니까? 당신은 소수점 뒤의 숫자를 원하지 않는 경우

+3

이진 또는 SI 접두사 중 어떤 것을 지정해야합니다. 이진 접두사 (2^20)를 사용하는 차이 크기는 SI 접두어 (1000^2)보다 ~ 4.8 % 큽니다. –

+0

아마도 [어떻게 Perl을 사용하여 파일 크기를 메가 바이트 단위로 얻을 수 있습니까?] (http://stackoverflow.com/questions/511785/how-do-i-get-the-size-of-a)를보고 싶을 것입니다. -file-in-megabytes-perl을 사용하여) –

답변

3

, 당신은 단지 20 비트만큼 오른쪽으로 이동 할 수 있습니다

perl -e 'print 202220394 >> 20;' 

192을 제공합니다. 반면에 202 220 394 메가 바이트 = 192.852396 테라 바이트.

는 2^20 진수, 분할을 원하는 경우 :

perl -e 'print 202220394/(1 << 20);' 

192.852396011353을 제공합니다.

+0

Dave, 프로세서/가상 저장소와 디스크 저장소의 수식에는 어떤 차이가 있습니까? MB를 TB로 변환 하시겠습니까? –

+0

물론입니다. 디스크 스토리지 사용자는 "MB"유형 접두사를 사용하여 M이 1,000,000 또는 10^6을 의미하는 것으로 나타났습니다. 그러나 그 전에 M은 2^20을 의미하며 이는 1 백만 개를 약간 상회합니다. 어떤 사람들은이 2^20 값을 의미하기 위해 "mebibyte"에 "MiB"를 사용하려고했습니다. 안타깝게도 숫자 만보고는 분명하지 않지만 일반적으로 패키지의 디스크 저장 용량은 10^6이고 컴퓨터 내부의 모든 용량은 2^20이라고 가정 할 수 있습니다. TiB는 2^40 대 10^12이므로 MiB/TiB = 2^20/2^40 대 MB/TB = 10^6/10^12 사이의 다른 변환을 볼 수 있습니다. – Dave

관련 문제