이 페이지가 유용했습니까?
이 콘텐츠에 대한 여러분의 의견은 중요합니다. 의견을 알려주십시오.
추가 의견
1500자 남음
내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Single 구조체

2013-12-13

단정밀도 부동 소수점 숫자를 나타냅니다.

Namespace:  System
어셈블리:  mscorlib(mscorlib.dll)

public struct Single : IComparable, IComparable<float>, 
	IConvertible, IEquatable<float>, IFormattable

Single 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드CompareTo(Object)이 인스턴스를 지정된 개체와 비교하고 이 인스턴스의 값이 지정된 개체의 값보다 큰지, 작은지 또는 같은지를 나타내는 정수를 반환합니다.
Public 메서드CompareTo(Single)이 인스턴스를 지정된 단정밀도 부동 소수점 숫자와 비교하고 이 인스턴스의 값이 지정된 단정밀도 부동 소수점 숫자 값보다 큰지, 작은지 또는 같은지를 나타내는 정수를 반환합니다.
Public 메서드Equals(Object)이 인스턴스가 지정한 개체와 같은지 여부를 나타내는 값을 반환합니다. (ValueType.Equals(Object)을(를) 재정의함)
Public 메서드Equals(Single)이 인스턴스의 값과 지정된 Single 개체의 값이 같은지 여부를 나타내는 값을 반환합니다.
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetHashCode해당 인스턴스에 대한 해시 코드를 반환합니다. (ValueType.GetHashCode()을(를) 재정의함)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드GetTypeCodeSingle 값 형식에 대한 TypeCode를 반환합니다.
Public 메서드정적 멤버IsInfinity지정된 숫자가 음의 무한대로 계산되는지 양의 무한대로 계산되는지를 나타내는 값을 반환합니다.
Public 메서드정적 멤버IsNaN지정된 숫자가 Not-a-Number(NaN)로 계산되는지 여부를 나타내는 값을 반환합니다.
Public 메서드정적 멤버IsNegativeInfinity지정된 숫자가 음의 무한대로 계산되는지를 나타내는 값을 반환합니다.
Public 메서드정적 멤버IsPositiveInfinity지정된 숫자가 양의 무한대로 계산되는지를 나타내는 값을 반환합니다.
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드정적 멤버Parse(String)숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.
Public 메서드정적 멤버Parse(String, NumberStyles)지정된 스타일로 된 숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.
Public 메서드정적 멤버Parse(String, IFormatProvider)지정된 문화권별 형식의 숫자에 대한 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.
Public 메서드정적 멤버Parse(String, NumberStyles, IFormatProvider)지정된 스타일 및 문화권별 형식으로 된 숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.
Public 메서드ToString()이 인스턴스의 숫자 값을 해당하는 문자열 표현으로 변환합니다. (ValueType.ToString()을(를) 재정의함)
Public 메서드ToString(IFormatProvider)지정된 문화권별 형식 정보를 사용하여 이 인스턴스의 숫자 값을 해당 문자열 표현으로 변환합니다.
Public 메서드ToString(String)지정된 형식을 사용하여 이 인스턴스의 숫자 값을 해당 문자열 표현으로 변환합니다.
Public 메서드ToString(String, IFormatProvider)지정된 형식 및 문화권별 형식 정보를 사용하여 이 인스턴스의 숫자 값을 해당 문자열 표현으로 변환합니다.
Public 메서드정적 멤버TryParse(String, Single)숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다. 반환 코드는 변환이 성공했는지 아니면 실패했는지를 나타냅니다.
Public 메서드정적 멤버TryParse(String, NumberStyles, IFormatProvider, Single)지정된 스타일 및 문화권별 형식으로 된 숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다. 반환 코드는 변환이 성공했는지 아니면 실패했는지를 나타냅니다.
맨 위

  이름설명
Public 연산자정적 멤버Equality지정된 두 Single 값이 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버GreaterThan지정된 Single 값이 지정된 다른 Single 값보다 큰지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버GreaterThanOrEqual지정된 Single 값이 지정된 다른 Single 값보다 크거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버Inequality지정된 두 Single 값이 같지 않은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버LessThan지정된 Single 값이 지정된 다른 Single 값보다 작은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버LessThanOrEqual지정된 Single 값이 지정된 다른 Single 값보다 작거나 같은지 여부를 나타내는 값을 반환합니다.
맨 위

  이름설명
Public 필드정적 멤버Epsilon0보다 큰 양의 최소 Single 값을 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버MaxValueSingle의 최대값을 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버MinValueSingle의 최소값을 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버NaNNot-a-Number(NaN)를 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버NegativeInfinity음의 무한대를 나타냅니다. 이 필드는 상수입니다.
Public 필드정적 멤버PositiveInfinity양의 무한대를 나타냅니다. 이 필드는 상수입니다.
맨 위

  이름설명
명시적 인터페이스 구현Private 메서드IConvertible.ToBoolean인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToBoolean을 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToByte인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToByte를 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToChar인프라입니다. 이 변환이 지원되지 않습니다. 이 메서드를 사용하려고 하면 InvalidCastException이 발생합니다.
명시적 인터페이스 구현Private 메서드IConvertible.ToDateTime인프라입니다. 이 변환이 지원되지 않습니다. 이 메서드를 사용하려고 하면 InvalidCastException이 발생합니다.
명시적 인터페이스 구현Private 메서드IConvertible.ToDecimal인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToDecimal을 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToDouble인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToDouble을 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToInt16인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToInt16을 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToInt32인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToInt32를 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToInt64인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToInt64를 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToSByte인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToSByte를 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToSingle인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToSingle을 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToType인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToType를 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToUInt16인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToUInt16을 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToUInt32인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToUInt32를 참조하세요.
명시적 인터페이스 구현Private 메서드IConvertible.ToUInt64인프라입니다. 이 멤버에 대한 설명은 IConvertible.ToUInt64를 참조하세요.
맨 위

Single 값 형식은 단정밀도 32비트 숫자를 나타내며, 음수 3.402823e38과 양수 3.402823e38 사이의 값을 가지고, 양수 또는 음수 0, PositiveInfinity, NegativeInfinity 및 Not-a-Number(NaN)도 포함됩니다.

Single은 이진 부동 소수점 산술 연산에 대한 IEC 60559:1989(IEEE 754) 표준을 따릅니다.

Single은 이 형식의 인스턴스를 비교하고 인스턴스의 값을 문자열 표현으로 변환하며 숫자의 문자열 표현을 이 형식의 인스턴스로 변환하는 메서드를 제공합니다.

부동 소수점 숫자 사용

이진 연산을 수행할 때 피연산자 중 하나가 부동 소수점 형식인 Single 또는 Double이면 다른 피연산자는 정수 계열 형식 또는 부동 소수점 형식이어야 합니다. 이 연산은 다음과 같이 수행됩니다.

  • 피연산자 중 하나가 정수 계열 형식이면 그 피연산자는 다른 피연산자의 부동 소수점 형식으로 변환됩니다.

  • 그런 다음 피연산자 중 하나가 Double이면 다른 피연산자가 Double로 변환되고 최소한 Double 범위와 정밀도를 사용하여 연산이 수행됩니다. 수치 연산의 경우 결과 형식은 Double입니다.

  • 그렇지 않으면 최소한 Single 형식 범위와 정밀도를 사용하여 연산이 수행되고, 수치 연산의 경우 결과 형식은 Single입니다.

대입 연산자를 포함하여 부동 소수점 연산자는 예외를 발생하지 않습니다. 대신 예외 상황이 발생하면 부동 소수점 연산의 결과는 아래 설명에서처럼 0, 무한대 또는 NaN입니다.

  • 부동 소수점 연산의 결과가 대상 형식에 비해 너무 작으면 연산 결과는 0입니다.

  • 부동 소수점 연산의 결과가 대상 형식에 비해 너무 크면 연산 결과는 결과의 부호에 따라 PositiveInfinity 또는 NegativeInfinity입니다.

  • 부동 소수점 연산이 잘못되었으면 연산 결과는 NaN입니다.

  • 부동 소수점 연산의 피연산자 중 하나 또는 모두가 NaN이면 연산 결과는 NaN입니다.

부동 소수점 값 및 정밀도 손실

부동 소수점 숫자는 10진수를 대략적으로만 나타낼 수 있으며 부동 소수점 숫자의 전체 자릿수에 따라 10진수의 근사값인 해당 값의 정밀도가 달라집니다. 내부적으로는 최대 9자리의 정밀도를 유지 관리하지만 Single 값은 기본적으로 7자리만 포함합니다. 부동 소수점 숫자의 자릿수에 따라 다음과 같은 여러 경우가 발생합니다.

  • 특정 정밀도에 대해 동일하게 나타나는 두 개의 부동 소수점 숫자는 최소 유효 자릿수가 다르기 때문에 서로 다른 것으로 간주될 수 있습니다.

  • 부동 소수점 숫자를 사용하는 수학 연산이나 비교 연산에서는 부동 소수점 숫자로 10진수를 정확하게 나타낼 수 없기 때문에 10진수가 사용되는 경우 동일한 결과를 생성하지 않을 수 있습니다.

  • 부동 소수점 숫자가 포함된 경우 값에 라운드트립이 발생하지 않을 수 있습니다. 연산에서 원래 부동 소수점 숫자를 다른 형식으로 변환하고, 역 연산에서 변환된 형식을 다시 부동 소수점 숫자로 변환하며, 최종 부동 소수점 숫자가 원래 부동 소수점 숫자와 같으면 해당 값을 라운드트립 값이라고 합니다. 변환할 때 하나 이상의 최소 유효 자릿수가 손실되거나 변경되기 때문에 라운드트립이 실패할 수 있습니다.

인터페이스 구현

이 형식은 IComparable, IComparable<T>, IFormattable, IConvertibleIEquatable<T> 인터페이스를 구현합니다. 변환을 위해 이 형식의 IConvertible 명시적 인터페이스 멤버 구현 대신 Convert 클래스를 사용합니다.

Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 형식의 모든 멤버는 스레드로부터 안전합니다. 인스턴스 상태를 수정하는 것처럼 보이는 멤버의 경우 실제로는 새 값으로 초기화되는 새 인스턴스를 반환합니다. 다른 모든 형식과 마찬가지로 이 형식의 인스턴스를 포함하는 공유 변수를 읽고 쓰는 작업은 스레드로부터 안전하도록 잠가서 보호해야 합니다.

표시:
© 2015 Microsoft