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