Half Класс

Определение

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

[Android.Runtime.Register("android/util/Half", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class Half : Java.Lang.Number, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IComparable
[<Android.Runtime.Register("android/util/Half", ApiSince=26, DoNotGenerateAcw=true)>]
type Half = class
    inherit Number
    interface IComparable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Наследование
Атрибуты
Реализации

Комментарии

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16). Число с плавающей точкой с плавающей точкой с половинной точностью может быть создано или преобразовано в одноточие с плавающей точкой и хранится в коротком типе данных. Чтобы отличить короткие значения с плавающей точкой половинной точности от обычных коротких значений, рекомендуется использовать заметку @HalfFloat .

Стандарт IEEE 754 указывает, что fp16 имеет следующий формат:

<ul>li Sign bit: 1 bit</li><Li>Exponent width: 5 bits</li><li>Significand: 10 bits</li<>/ul><>

Формат выглядит следующим образом:

1   11111   1111111111
            ^   --^--   -----^----
            sign  |          |_______ significand
                  |
                  -- exponent

Плавающие точки половинной точности могут быть полезны для экономии памяти и (или) пропускной способности за счет диапазона и точности по сравнению с плавающей запятой с одиночной точностью (fp32).

Чтобы помочь вам решить, является ли fp16 подходящим типом хранилища, ознакомьтесь с таблицей ниже, где показана доступная точность по всему диапазону возможных значений. Столбец <em>precision</em> указывает размер шага между двумя последовательными числами в определенной части диапазона.

<table summary="Precision of fp16 across the range">tr th Range start</th>><Precision</th></tr<>><td>0</td><td>1 ⁄ 16,777,216</td></tr><tr><td>1 ⁄ 16 384</td><td>1 ⁄ 16 777 216</td></tr tr>><<td>1 ⁄ 8,192</td><td>1 ⁄ 8,388,608</td></tr<>tr><td 1>>><< ⁄ 4096</td><td>1 ⁄ 4,194,304</td></tr tr>><<td>1 ⁄ 2048</td><td>1 ⁄ 2 097 152</td></tr tr><<>td>1 ⁄ 1,024</td td>><1 ⁄ 1,048,576</td></tr tr<><>td>1 ⁄ 512</td><td>1 ⁄ 524,288</td></tr tr<>><td>1 ⁄ 256</td><td>1 ⁄ 262 144/td/tr<>tr><td>1 ⁄ 128</td><td>1 ⁄ 131 072</td></tr tr>><<td>1 ⁄ 64</td><td>1 ⁄ 65 536</td></tr tr<>><td>1 ⁄ 32</td><td>1 ⁄ 32 768</td></tr tr>><<td>1 ⁄ 16</td><td>1 ⁄ 16,384</td></tr>><<<tr td>1 ⁄ 8</td><td>1 ⁄ 8,192</td></tr tr<>><td>1 ⁄ 4</td><td>1 ⁄ 4096</td></tr tr><><td>1 ⁄ 2</td><td>1 ⁄ 2048</td></tr tr><<>td>1</td><td>1 ⁄ 1,024</td></tr<>tr><td>2</td><><td>1 ⁄ 512</td></tr<>tr><td>4</td><td>1 ⁄ 256</td></tr><td>><8</td><td>1 ⁄ 128</td></tr><tr><td>16</td><td>1 ⁄ 64</td></tr<>td><>32</td><td>1 ⁄ 32</td></tr><td tr><td>64</td><td>1 ⁄ 16</td></tr tr>><<td>128</td><td>1 ⁄ 8</td></tr<>td><>256</td><td>1 ⁄ 4</td></tr<>td><>512</td><td>1 ⁄ 2</td></tr><tr><td>1,024</td><td>1</td></tr tr><><td>2048</td><td>2</td></tr<>tr><td>4096</td><td>4</td></tr><tr><td>8,192</td><td8<>/td></tr><tr><td>16,384</td><td>16</td></tr><tr><td>32,768</td><td>32</td></tr></table>

В этой таблице показано, что числа, превышающие 1024, теряют всю точность дробей.

Документация по Java для android.util.Half.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.

Конструкторы

Half(Double)

Создает новый выделенный Half объект, представляющий аргумент, преобразованный в число с плавающей точкой с плавающей точкой половинной точности.

Half(Int16)

Создает новый выделенный Half объект, представляющий аргумент типа типа float половинной точности.

Half(Single)

Создает новый выделенный Half объект, представляющий аргумент, преобразованный в число с плавающей точкой с плавающей точкой половинной точности.

Half(String)

Создает новый выделенный Half объект, представляющий значение float половинной точности, представленное строкой.

Поля

Epsilon

Эпсилон — это разница между 1.

LowestValue

Наименьшее отрицательное значение, которое может иметь плавающая половина точности.

MaxExponent

Максимальная степень, с помощью которых может иметься конечная полуточие с плавающей точкой.

MaxValue

Максимальное положительное конечное значение, которое может иметь плавающее число половинной точности.

MinExponent

Минимальная степень, с помощью нормализованной полуточия с плавающей точкой.

MinNormal

Наименьшее положительное нормальное значение, которое может иметь плавающее число половинной точности.

MinValue

Наименьшее положительное ненулевое значение, которое может иметь плавающее число половинной точности.

NaN

Не-числовое представление с плавающей точкой с плавающей точкой половины точности.

NegativeInfinity

Отрицательная бесконечность типа с плавающей точкой полуточия.

NegativeZero

Отрицательное значение 0 типа с плавающей точкой половинной точности.

PositiveInfinity

Положительная бесконечность типа с плавающей точкой полуточия.

PositiveZero

Положительное значение 0 типа с плавающей точкой половинной точности.

Size

Число битов, используемых для представления значения с плавающей точкой с плавающей точкой половины точности.

Свойства

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsNaN

Возвращает значение true, если это Half значение представляет значение Not-a-Number, в противном случае false.

JniIdentityHashCode

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
JniPeerMembers

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

PeerReference

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Number)
ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Number)

Методы

Abs(Int16)

Возвращает абсолютное значение указанного значения с плавающей точкой с плавающей точкой половины точности.

ByteValue()

Возвращает значение указанного числа в виде byte.

(Унаследовано от Number)
Ceil(Int16)

Возвращает наименьшее значение float половинной точности в сторону отрицательной бесконечности, большее или равное указанному значению с плавающей точкой половинной точности.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Compare(Int16, Int16)

Сравнивает два указанных значения с плавающей точкой с плавающей точкой половинной точности.

CompareTo(Half)

Сравнивает два указанных значения с плавающей точкой с плавающей точкой половинной точности.

CopySign(Int16, Int16)

Возвращает первый параметр со знаком второго параметра.

Dispose()

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
Dispose(Boolean)

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
DoubleValue()

Возвращает значение этого Half объекта в виде после double расширяющегося примитивного преобразования.

Equals(Int16, Int16)

Возвращает значение true, если два значения с плавающей точкой половинной точности равны.

Equals(Object)

Указывает, равен ли какой-то другой объект этому объекту.

(Унаследовано от Object)
FloatValue()

Возвращает значение этого Half объекта в виде после float расширяющегося примитивного преобразования.

Floor(Int16)

Возвращает наибольшее значение плавающего числа половинной точности в сторону положительной бесконечности, меньшее или равное указанному значению с плавающей точкой половинной точности.

GetExponent(Int16)

Возвращает беспристрастную степень, используемую в представлении указанного значения с плавающей точкой половинной точности.

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
GetSign(Int16)

Возвращает знак указанного значения с плавающей точкой с плавающей точкой половины точности.

GetSignificand(Int16)

Возвращает значимую мантиссу, используемую в представлении указанного значения с плавающей точкой половинной точности.

Greater(Int16, Int16)

Возвращает значение true, если первое значение с плавающей запятой половинной точности больше (больше к положительной бесконечности), чем второе значение с плавающей точкой с плавающей запятой половинной точности.

GreaterEquals(Int16, Int16)

Возвращает значение true, если первое значение с плавающей точкой с плавающей точкой половинной точности больше (больше к положительной бесконечности) или равно второму значению с плавающей точкой с плавающей точкой половинной точности.

HalfToIntBits(Int16)

Возвращает представление указанного значения float половинной точности в соответствии с макетом битов, описанным в разделе Half.

HalfToRawIntBits(Int16)

Возвращает представление указанного значения float половинной точности в соответствии с макетом битов, описанным в разделе Half.

HalfToShortBits(Int16)

Возвращает представление указанного значения float половинной точности в соответствии с макетом битов, описанным в разделе Half.

HalfValue()

Возвращает значение половинной точности этого объекта Half как short , содержащее битовое представление, описанное в Half.

HashCode(Int16)

Возвращает хэш-код для значения с плавающей точкой с плавающей точкой половины точности.

IntBitsToHalf(Int32)

Возвращает значение float половинной точности, соответствующее заданному битового представления.

IntValue()

Возвращает значение этого Half объекта в виде после int сужающего примитивного преобразования.

InvokeIsNaN(Int16)

Возвращает значение true, если указанное значение с плавающей точкой с плавающей точкой половины точности представляет значение Not-a-Number, в противном случае — false.

IsInfinite(Int16)

Возвращает значение true, если указанное значение float половинной точности представляет бесконечность, в противном случае — значение false.

IsNormalized(Int16)

Возвращает значение true, если указанное значение float половинной точности нормализовано (не имеет субнормального представления).

JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

(Унаследовано от Object)
Less(Int16, Int16)

Возвращает значение true, если первое значение float половинной точности меньше (меньше к отрицательной бесконечности), чем второе значение с плавающей точкой с плавающей точкой половинной точности.

LessEquals(Int16, Int16)

Возвращает значение true, если первое значение с плавающей точкой с плавающей точкой половинной точности меньше (меньше к отрицательной бесконечности) или равно значению с плавающей точкой второй половинной точности.

LongValue()

Возвращает значение этого Half объекта в виде после long сужающего примитивного преобразования.

Max(Int16, Int16)

Возвращает большее из двух значений с плавающей точкой с плавающей точкой половинной точности (значение, ближайшее к положительной бесконечности).

Min(Int16, Int16)

Возвращает меньшее из двух значений с плавающей точкой половинной точности (значение, ближайшее к отрицательной бесконечности).

Notify()

Пробуждение одного потока, ожидающего на мониторе этого объекта.

(Унаследовано от Object)
NotifyAll()

Активирует все потоки, ожидающие на мониторе этого объекта.

(Унаследовано от Object)
ParseHalf(String)

Возвращает значение float половинной точности, представленное указанной строкой.

Round(Int16)

Возвращает ближайшее целочисленное значение с плавающей точкой с половинной точностью к указанному значению float половинной точности.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ShortValue()

Возвращает значение указанного числа в виде short.

(Унаследовано от Number)
ToArray<T>()

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
ToFloat(Int16)

Преобразует указанное значение с плавающей точкой с плавающей точкой половины точности в одноточное значение с плавающей точкой.

ToHalf(Single)

Преобразует указанное значение с плавающей точкой с одной точностью в значение с плавающей точкой с плавающей запятой половинной точности.

ToHexString(Int16)

Возвращает шестнадцатеричное строковое представление указанного значения с плавающей точкой с плавающей точкой половинной точности.

ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
ToString(Int16)

Возвращает строковое представление указанного значения float половинной точности.

Trunc(Int16)

Возвращает усеченное значение с плавающей точкой с половинной точностью указанного значения float половинной точности.

UnregisterFromRuntime()

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
ValueOf(Int16)

Возвращает экземпляр , Half представляющий указанное значение с плавающей точкой половинной точности.

ValueOf(Single)

Возвращает экземпляр , Half представляющий указанное значение с плавающей точкой.

ValueOf(String)

Возвращает экземпляр , Half представляющий указанное строковое значение.

Wait()

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>.

(Унаследовано от Object)
Wait(Int64)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IComparable.CompareTo(Object)

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

IJavaPeerable.Disposed()

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
IJavaPeerable.Finalized()

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенное средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

GetJniTypeName(IJavaPeerable)

Класс Half является оболочкой и служебным классом для управления полуточными 16-разрядными типами данных IEEE 754 с плавающей запятой (также называется fp16 или binary16).

Применяется к