float는 단정밀도 부동 소수점 숫자 또는 배정밀도 부동 소수점 숫자를 저장하는 데 사용되는 부동 소수점 데이터 유형입니다. 부동 소수점 유형의 단정밀도 값은 부호 비트를 포함하여 4바이트입니다. 8비트 이진 지수와 23비트 가수로 구성되며, 가수의 상위 비트는 항상 1이므로 숫자로 저장되지 않습니다.
float은 부동 소수점 데이터 유형입니다.
FLOAT 데이터 유형은 단정밀도 부동 소수점 숫자 또는 이중 정밀도 부동 소수점 숫자를 저장하는 데 사용됩니다. 부동 소수점 숫자는 IEEE(전기전자공학회) 형식을 사용합니다. 부동 소수점 유형의 단정밀도 값은 부호 비트, 8비트 이진 지수, 23비트 가수를 포함하여 4바이트를 갖습니다. 가수의 상위 비트는 항상 1이므로 숫자로 저장되지 않습니다. 이 표현은 대략 -3.4E+38 ~ 3.4E+38 범위의 float 유형을 제공합니다.
구성
부동 소수점 숫자는 기계에서 지수 형식으로 표현되며 숫자 기호, 가수, 지수 기호, 지수의 네 부분으로 분해됩니다.
숫자 기호는 1개의 이진수를 차지하며 양수 또는 음수를 나타냅니다.
지수 기호는 1개의 이진수를 차지하며 지수의 양수와 음수를 나타냅니다.
가수는 부동 소수점 숫자의 유효수인 0.xxxxxxx를 나타내지만 선행 0과 점은 저장되지 않습니다.
지수는 지수의 유효 숫자를 저장합니다.
지수가 차지하는 자릿수와 가수가 차지하는 자릿수는 컴퓨터 시스템에 의해 결정됩니다.
Difference
변수는 애플리케이션의 필요에 따라 float 또는 double로 선언될 수 있습니다. 이 두 유형의 주요 차이점은 표현할 수 있는 기반, 필요한 스토리지 및 범위입니다.
값 범위
부동 소수점 변수는 가수(숫자가 포함된 값)와 지수(숫자가 포함된 크기)로 표시됩니다.
다음 표는 각 부동 소수점 유형의 가수와 지수에 할당된 비트 수를 보여줍니다. float 또는 double의 최상위 비트는 항상 부호 비트입니다. 부호 비트가 1이면 숫자는 음수로 처리되고, 그렇지 않으면 숫자는 양수로 처리됩니다.
지수와 가수
지수는 부호 없는 형식으로 저장되므로 지수는 가능한 값의 절반만큼 편향됩니다. float 유형의 경우 바이어스는 127이고, double 유형의 경우 바이어스는 1023입니다. 지수값에서 편향값을 빼면 실제 지수값을 계산할 수 있습니다.
가수가 1보다 크거나 같고 2보다 작은 이진 분수로 저장됩니다. float 및 double 유형의 경우 최상위 비트 위치의 가수에 암시적 선행 1이 있으므로 최상위 비트가 메모리에 저장되지 않더라도 가수의 실제 길이는 각각 24비트 및 53비트입니다.
부동 소수점 패키지는 방금 소개한 저장 방법을 사용하지 않고도 이진 부동 소수점 숫자를 비정규화된 숫자로 저장할 수 있습니다. "비정규화된 숫자"는 가수의 최상위 비트가 0인 보존된 지수를 갖는 0이 아닌 부동 소수점 숫자입니다. 정규화되지 않은 형식을 사용하면 부동 소수점 숫자의 범위를 확장할 수 있지만 정밀도가 손실됩니다. 부동 소수점 숫자가 정규화된 형식으로 표시되는지, 정규화되지 않은 형식으로 표시되는지 여부는 부동 소수점 패키지에 따라 결정됩니다. 부동 소수점 패키지는 지수가 정규화된 형식으로 표현할 수 있는 가장 작은 값보다 작아지지 않는 한 비정규화된 형식을 사용하지 않습니다.
아래 표는 각 부동소수점 유형의 변수에 저장할 수 있는 최소값과 최대값을 나타냅니다. 이 표에 나열된 값은 정규화된 부동 소수점 숫자에만 적용됩니다. 정규화되지 않은 부동 소수점 숫자의 최소값은 더 작습니다. 80x87 레지스터에 보관된 숫자는 항상 80비트 정규화된 형식으로 표시되며, 32비트 또는 64비트 부동 소수점 변수(float 및 long 유형의 변수)에 저장된 숫자는 비정규화된 형식으로만 표시될 수 있습니다.
위 내용은 float는 어떤 데이터 유형인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!