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(Int16) |
Создает только что выделенный |
| Half(Single) |
Создает только что выделенный |
| Half(String) |
Создает только что выделенный |
Поля
| Имя. | Описание |
|---|---|
| Epsilon |
Epsilon — разница между 1. |
| LowestValue |
Возможно, наименьшее отрицательное значение с плавающей запятой половины точности. |
| MaxExponent |
Возможно, максимальная экспонентность конечной полуточии с плавающей запятой. |
| MaxValue |
Максимальное положительное конечное значение с плавающей запятой с половинной точностью может иметь. |
| MinExponent |
Минимальное экспонентное значение нормализованного полуточия с плавающей запятой может иметь. |
| MinNormal |
Возможно, наименьшее положительное нормальное значение с плавающей запятой половины точности. |
| MinValue |
Наименьшее положительное значение, отличное от нуля, может иметь значение с плавающей запятой половины точности. |
| NaN |
Представление не-числа с плавающей запятой половины точности. |
| NegativeInfinity |
Отрицательное бесконечность типа с плавающей запятой половины точности. |
| NegativeZero |
Отрицательное значение 0 типа с плавающей запятой половины точности. |
| PositiveInfinity |
Положительное бесконечность типа с плавающей запятой половины точности. |
| PositiveZero |
Положительное значение 0 типа с плавающей запятой половины точности. |
| Size |
Число битов, используемых для представления значения с плавающей плавающей запятой половины точности. |
Свойства
| Имя. | Описание |
|---|---|
| Class |
Возвращает класс среды выполнения этого |
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| IsNaN |
Возвращает значение true, если это |
| JniIdentityHashCode |
Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия. (Унаследовано от Object) |
| JniManagedPeerState |
Класс |
| JniPeerMembers |
Класс |
| PeerReference |
Возвращает ссылку на объект JNI для этого Java однорангового узла. (Унаследовано от Object) |
| ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Number) |
| ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Number) |
Методы
| Имя. | Описание |
|---|---|
| Abs(Int16) |
Возвращает абсолютное значение указанного значения с плавающей запятой половины точности. |
| ByteValue() |
Возвращает значение указанного числа в виде |
| Ceil(Int16) |
Возвращает наименьшее значение с плавающей запятой половины точности в сторону отрицательной бесконечности больше или равно заданному значению с плавающей запятой половины точности. |
| Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
| Compare(Int16, Int16) |
Сравнивает два указанных значения с плавающей запятой половины точности. |
| CompareTo(Half) |
Сравнивает два указанных значения с плавающей запятой половины точности. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Класс |
| CopySign(Int16, Int16) |
Возвращает первый параметр со знаком второго параметра. |
| Dispose() |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| Dispose(Boolean) |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| DisposeUnlessReferenced() |
Класс |
| DoubleValue() |
Возвращает значение этого |
| Equals(Int16, Int16) |
Возвращает значение true, если два значения с плавающей запятой половины точности равны. |
| Equals(Object) |
Класс |
| Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
| FloatValue() |
Возвращает значение этого |
| Floor(Int16) |
Возвращает наибольшее значение с плавающей запятой половины точности в сторону положительной бесконечности меньше или равно заданному значению с плавающей запятой половины точности. |
| GetExponent(Int16) |
Возвращает необязуемый экспонент, используемый в представлении указанного значения с плавающей запятой половины точности. |
| GetHashCode() |
Возвращает хэш-значение кода для объекта. (Унаследовано от Object) |
| GetSign(Int16) |
Возвращает знак указанного полуточия с плавающей запятой. |
| GetSignificand(Int16) |
Возвращает символику или мантисса, используемую в представлении указанного значения с плавающей запятой половины точности. |
| Greater(Int16, Int16) |
Возвращает значение true, если первое значение с плавающей запятой с точностью половины больше (больше положительной бесконечности), чем значение с плавающей запятой второй половины точности. |
| GreaterEquals(Int16, Int16) |
Возвращает значение true, если первое значение с плавающей запятой половины точности больше (больше положительной бесконечности), чем или равно второму значению с плавающей запятой. |
| HalfToIntBits(Int16) |
Возвращает представление указанного значения с плавающей запятой половины точности в соответствии с битовой структурой, описанной в разделе |
| HalfToRawIntBits(Int16) |
Возвращает представление указанного значения с плавающей запятой половины точности в соответствии с битовой структурой, описанной в разделе |
| HalfToShortBits(Int16) |
Возвращает представление указанного значения с плавающей запятой половины точности в соответствии с битовой структурой, описанной в разделе |
| HalfValue() |
Возвращает значение половинной точности этого |
| HashCode(Int16) |
Возвращает хэш-код для значения с плавающей запятой половины точности. |
| IntBitsToHalf(Int32) |
Возвращает значение с плавающей запятой половины точности, соответствующее заданному битового представления. |
| IntValue() |
Возвращает значение этого |
| 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() |
Возвращает значение этого |
| Max(Int16, Int16) |
Возвращает больше двух значений с плавающей плавающей точностью (ближайшее к положительной бесконечности). |
| Min(Int16, Int16) |
Возвращает меньшее из двух значений с плавающей запятой половины точности (значение, ближайшее к отрицательной бесконечности). |
| Notify() |
Просыпается один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
| NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
| ParseHalf(String) |
Возвращает значение с плавающей запятой половины точности, представленное указанной строкой. |
| Round(Int16) |
Возвращает ближайшее целочисленное значение с плавающей запятой половины точности к указанному значению с плавающей запятой половины точности. |
| SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Класс |
| ShortValue() |
Возвращает значение указанного числа в виде |
| ToArray<T>() |
Создает управляемый массив из этого Java оболочки массива. (Унаследовано от Object) |
| ToFloat(Int16) |
Преобразует указанное значение с плавающей запятой половины точности в значение с плавающей запятой с одной точностью. |
| ToHalf(Single) |
Преобразует указанное значение с плавающей запятой с одной точностью в значение с плавающей запятой половины точности. |
| ToHexString(Int16) |
Возвращает шестнадцатеричное строковое представление указанного значения с плавающей запятой половины точности. |
| ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
| ToString(Int16) |
Возвращает строковое представление указанного значения с плавающей запятой половины точности. |
| Trunc(Int16) |
Возвращает усеченное значение с плавающей запятой половины точности указанного значения с плавающей точностью. |
| UnregisterFromRuntime() |
Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия. (Унаследовано от Object) |
| ValueOf(Int16) |
Возвращает экземпляр, представляющий указанное |
| ValueOf(Single) |
Возвращает экземпляр, представляющий указанное значение с плавающей запятой |
| ValueOf(String) |
Возвращает экземпляр, представляющий указанное |
| Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.> (Унаследовано от Object) |
| Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя. | Описание |
|---|---|
| IComparable.CompareTo(Object) |
Класс |
| IJavaPeerable.Disposed() |
Класс |
| IJavaPeerable.Finalized() |
Класс |
| IJavaPeerable.JniObjectReferenceControlBlock |
Класс |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Класс |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Класс |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Класс |
| IJavaPeerable.UnregisterFromRuntime() |
Класс |
Методы расширения
| Имя. | Описание |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Класс |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |