Язык

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.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<li Exponent width: 5 bits>/li li<><Significand: 10 bits></li></ul><>

Формат представлен следующим образом:

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

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

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

<сводка таблицы="Точность fp16 в диапазоне">tr range start</><>th th<Precision></th/><><>tr tr td 0</td><td><1 ⁄ 16,777,216></td/tr tr><><td>< 1 ⁄ 16 384></td td><1 ⁄ 16,777,216></td>/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><td>1 ⁄ 2048</td><td>1 ⁄ 2 097 152</td/tr tr><><td><> 1 ⁄ 1024</td td><>1 ⁄ 1,048,576</td></><tr><>td 1 ⁄ 512</td><td>1 ⁄ 524,288</td></tr><tr><td>1 ⁄ 256</td td td><1 ⁄ 262,144>/td</tr><><><td>1 ⁄ 128</td td><>1 ⁄ 131 072</td/tr><>tr<><td> 1 ⁄ 64</td td td><>1 ⁄ 65,536</td></tr><><>td 1 ⁄ 32/td<td><1 ⁄ 32,768></td/td></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 td<><1 ⁄ 4096></td></tr><><>td 1 ⁄ 2/td<td><1 ⁄ 2,048></td></tr><><>< td 1/><>td td 1 ⁄ 1,024</td></trtr td>2</td><td>1 ⁄ 512</td></tr><><td>4</td><td>1 ⁄ 256</td></tr tr><><td>8</td><td>1 ⁄ 128</><td/><><>tr td 16</><>td td 1 ⁄ 64</td></tr><><>td 32/<td td><1 ⁄ 32><><></td/tr 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 td/td 4096</td><>td 4</td/tr tr><><td><> 8,192</td><td td>8</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.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

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

Имя. Описание
Half(Double)

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

Half(Int16)

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

Half(Single)

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

Half(String)

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

Поля

Имя. Описание
Epsilon

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

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

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

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

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

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

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

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

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

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

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

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

Методы

Имя. Описание
Abs(Int16)

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

ByteValue()

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

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

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

Clone()

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

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

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

CompareTo(Half)

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

Construct(JniObjectReference, JniObjectReferenceOptions)

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

(Унаследовано от JavaObject)
CopySign(Int16, Int16)

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

Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

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

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

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

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

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

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

Equals(Int16, Int16)

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

Equals(Object)

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

(Унаследовано от JavaObject)
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)

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

HalfToRawIntBits(Int16)

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

HalfToShortBits(Int16)

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

HalfValue()

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

HashCode(Int16)

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

IntBitsToHalf(Int32)

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

IntValue()

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

InvokeIsNaN(Int16)

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

IsInfinite(Int16)

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

IsNormalized(Int16)

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

JavaFinalize()
Устаревшие.

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

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

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

LessEquals(Int16, Int16)

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

LongValue()

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

Max(Int16, Int16)

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

Min(Int16, Int16)

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

Notify()

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

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

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

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

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

Round(Int16)

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

SetHandle(IntPtr, JniHandleOwnership)

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

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

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

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

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

Создает управляемый массив из этого Java оболочки массива.

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

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

ToHalf(Single)

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

ToHexString(Int16)

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

ToString()

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

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

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

Trunc(Int16)

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

UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

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

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

ValueOf(Single)

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

ValueOf(String)

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

Wait()

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

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

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

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

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

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

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

Имя. Описание
IComparable.CompareTo(Object)

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

IJavaPeerable.Disposed()

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

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

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

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

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

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

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

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

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

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

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

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

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

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

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