# Half Struct

## Definition

Represents a half-precision floating-point number.

``public value class Half : IComparable, IComparable<Half>, IEquatable<Half>, IFormattable``
``public struct Half : IComparable, IComparable<Half>, IEquatable<Half>, IFormattable``
``````type Half = struct
interface IFormattable``````
``````Public Structure Half
Implements IComparable, IComparable(Of Half), IEquatable(Of Half), IFormattable``````
Inheritance
Implements

## Remarks

The Half value type represents a half-precision 16-bit number with values ranging from negative 65,504 to positive 65,504, as well as positive or negative zero, PositiveInfinity, NegativeInfinity, and not a number (NaN).

This is an IEEE 754-compliant type.

## Properties

 Represents the smallest positive Half value that is greater than zero. Represents the largest possible value of Half. Represents the smallest possible value of Half. Represents not a number. Represents negative infinity. Represents positive infinity.

## Methods

 Compares this instance to a specified half-precision floating-point number and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified half-precision floating-point number. Compares this instance to a specified object and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified object. Compares this instance for equality with `other`. Returns a value that indicates whether this instance is equal to the specified `obj`. Returns the hash code for this instance. Determines whether the specified value is finite (zero, subnormal, or normal). Returns a value indicating whether the specified number evaluates to positive infinity. Determines whether the specified value is not a number. Determines whether the specified value is negative. Determines whether the specified value is negative infinity. Determines whether the specified value is normal. Determines whether the specified value is positive infinity. Determines whether the specified value is subnormal. Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. Converts the string representation of a number to its half-precision floating-point number equivalent. Converts the string representation of a number in a specified culture-specific format to its single-precision floating-point number equivalent. Converts the string representation of a number in a specified style to its single-precision floating-point number equivalent. Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. Converts the numeric value of this instance to its equivalent string representation. Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. Converts the numeric value of this instance to its equivalent string representation, using the specified format. Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. Tries to format the value of the current Half instance into the provided span of characters. Converts the span representation of a number to its half-precision floating-point number equivalent. A return value indicates whether the conversion succeeded or failed. Converts the span representation of a number to its half-precision floating-point number equivalent. A return value indicates whether the conversion succeeded or failed. Converts the string representation of a number to its half-precision floating-point number equivalent. A return value indicates whether the conversion succeeded or failed. Converts the string representation of a number to its half-precision floating-point number equivalent. A return value indicates whether the conversion succeeded or failed.

## Operators

 Returns a value that indicates whether two specified Half values are equal. An explicit operator to convert a Double value to a Half. An explicit operator to convert a Half value to a Double. An explicit operator to convert a Half value to a Single. An explicit operator to convert a Single value to a Half. Returns a value that indicates whether a specified Half value is greater than another specified Half value. Returns a value that indicates whether `left` is greater than or equal to `right`. Returns a value that indicates whether two specified Half values are not equal. Returns a value that indicates whether a specified Half value is less than another specified Half value. Returns a value that indicates whether a specified Half value is less than or equal to another specified Half value.