Half Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
La Half clase es un contenedor y una clase de utilidad para manipular tipos de datos de punto flotante IEEE 754 de precisión media (también denominados fp16 o 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
- Herencia
- Atributos
- Implementaciones
Comentarios
La Half clase es un contenedor y una clase de utilidad para manipular tipos de datos de punto flotante IEEE 754 de precisión media (también denominados fp16 o binary16). Se puede crear un float de precisión media a partir de o convertirse en floats de precisión única y se almacena en un tipo de datos corto. Para distinguir los valores cortos que contienen floats de precisión media de los valores cortos normales, se recomienda usar la @HalfFloat anotación .
El estándar IEEE 754 especifica una fp16 como con el siguiente formato:
<ul>li Sign bit: 1 bit</li><li>Exponent width: 5 bits</li li><>Significand: 10 bits</li></li/ul><>
El formato se establece de la siguiente manera:
1 11111 1111111111
^ --^-- -----^----
sign | |_______ significand
|
-- exponent
Los puntos flotantes de precisión media pueden ser útiles para ahorrar memoria o ancho de banda a costa del intervalo y la precisión en comparación con los puntos flotantes de precisión única (fp32).
Para ayudarle a decidir si fp16 es el tipo de almacenamiento adecuado para su necesidad, consulte la tabla siguiente que muestra la precisión disponible en todo el intervalo de valores posibles. <La >columna em precision</em> indica el tamaño del paso entre dos números consecutivos en una parte específica del intervalo.
<table summary="Precision of fp16 across the range">tr th Range start</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 tr><><td>1 ⁄ 8,192</td td><>1 ⁄ 8,388,608</td></tr tr tr><><><><td>1 ⁄ 4,096</td td><>1 ⁄ 4,194,304</td></tr tr td>1 ⁄ 2,048</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 ⁄ 4,096></td>/tr tr<><>td<1 ⁄ 2></td td><1 ⁄ 2,048></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 tr><><td>8</td td><>1 ⁄ 128</td></tr tr><><td>16</td td><>1 ⁄ 64</td></tr 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><><tr td>256</td td><>1 ⁄ 4</td></tr tr><td><>512</td td><>1 ⁄ 2</td></tr tr><td><>1,024</td><td>1</td></tr tr><><td>2.048</td><td>2</td></tr tr><><td>4.096</td td><>4</td></tr><><td>8,192</td td><>8</td></tr tr><><td>16,384</td td><>16</td></tr tr><td><>32,768</td td><td 32>/td<></tr></table>
En esta tabla se muestra que los números superiores a 1024 pierden toda la precisión fraccionaria.
Java documentación para android.util.Half.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| Half(Double) |
Construye un objeto recién asignado |
| Half(Int16) |
Construye un objeto recién asignado |
| Half(Single) |
Construye un objeto recién asignado |
| Half(String) |
Construye un objeto recién asignado |
Campos
| Nombre | Description |
|---|---|
| Epsilon |
Epsilon es la diferencia entre 1. |
| LowestValue |
El valor negativo más pequeño puede tener un float de precisión media. |
| MaxExponent |
El exponente máximo que puede tener un flotador finito de precisión media. |
| MaxValue |
El valor finito positivo máximo puede tener un float de precisión media. |
| MinExponent |
El exponente mínimo que puede tener un float de precisión media normalizada. |
| MinNormal |
El valor normal más pequeño positivo puede tener un flotador de precisión media. |
| MinValue |
El valor más pequeño positivo distinto de cero puede tener un float de precisión media. |
| NaN |
Representación not-a-Number de un float de precisión media. |
| NegativeInfinity |
Infinito negativo de tipo float de precisión media. |
| NegativeZero |
Negativo 0 de tipo float de precisión media. |
| PositiveInfinity |
Infinito positivo de tipo float de precisión media. |
| PositiveZero |
Positivo 0 de tipo float de precisión media. |
| Size |
Número de bits usado para representar un valor float de precisión media. |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| IsNaN |
Devuelve true si este |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
La |
| JniPeerMembers |
La |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Number) |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Number) |
Métodos
| Nombre | Description |
|---|---|
| Abs(Int16) |
Devuelve el valor absoluto del float de precisión media especificado. |
| ByteValue() |
Devuelve el valor del número especificado como . |
| Ceil(Int16) |
Devuelve el valor flotante de precisión media más pequeño hacia el infinito negativo mayor o igual que el valor float de precisión media especificado. |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Compare(Int16, Int16) |
Compara los dos valores float de precisión media especificados. |
| CompareTo(Half) |
Compara los dos valores float de precisión media especificados. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
La |
| CopySign(Int16, Int16) |
Devuelve el primer parámetro con el signo del segundo parámetro. |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
La |
| DoubleValue() |
Devuelve el valor de esto |
| Equals(Int16, Int16) |
Devuelve true si los dos valores float de precisión media son iguales. |
| Equals(Object) |
La |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| FloatValue() |
Devuelve el valor de esto |
| Floor(Int16) |
Devuelve el valor flotante de precisión media más grande hacia el infinito positivo menor o igual que el valor float de precisión media especificado. |
| GetExponent(Int16) |
Devuelve el exponente no sesgado utilizado en la representación del valor float de precisión media especificado. |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| GetSign(Int16) |
Devuelve el signo del float de precisión media especificado. |
| GetSignificand(Int16) |
Devuelve el significand, o mantissa, utilizado en la representación del valor float de precisión media especificado. |
| Greater(Int16, Int16) |
Devuelve true si el primer valor float de precisión media es mayor (mayor hacia infinito positivo) que el segundo valor float de precisión media. |
| GreaterEquals(Int16, Int16) |
Devuelve true si el primer valor flotante de precisión media es mayor (mayor hacia infinito positivo) o igual que el segundo valor float de precisión media. |
| HalfToIntBits(Int16) |
Devuelve una representación del valor float de precisión media especificado según el diseño de bits descrito en |
| HalfToRawIntBits(Int16) |
Devuelve una representación del valor float de precisión media especificado según el diseño de bits descrito en |
| HalfToShortBits(Int16) |
Devuelve una representación del valor float de precisión media especificado según el diseño de bits descrito en |
| HalfValue() |
Devuelve el valor de precisión media de este |
| HashCode(Int16) |
Devuelve un código hash para un valor float de precisión media. |
| IntBitsToHalf(Int32) |
Devuelve el valor float de precisión media correspondiente a una representación de bits determinada. |
| IntValue() |
Devuelve el valor de esto |
| InvokeIsNaN(Int16) |
Devuelve true si el valor float de precisión media especificado representa un valor Not-a-Number, false en caso contrario. |
| IsInfinite(Int16) |
Devuelve true si el valor float de precisión media especificado representa infinito; de lo contrario, false. |
| IsNormalized(Int16) |
Devuelve true si el valor float de precisión media especificado se normaliza (no tiene una representación subnormal). |
| JavaFinalize() |
Obsoletos.
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| Less(Int16, Int16) |
Devuelve true si el primer valor float de precisión media es menor (menor hacia infinito negativo) que el segundo valor float de precisión media. |
| LessEquals(Int16, Int16) |
Devuelve true si el primer valor float de precisión media es menor (menor hacia infinito negativo) o igual que el segundo valor float de precisión media. |
| LongValue() |
Devuelve el valor de esto |
| Max(Int16, Int16) |
Devuelve el mayor de dos valores flotantes de precisión media (el valor más cercano al infinito positivo). |
| Min(Int16, Int16) |
Devuelve el menor de dos valores flotantes de precisión media (el valor más cercano al infinito negativo). |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| ParseHalf(String) |
Devuelve el valor float de precisión media representado por la cadena especificada. |
| Round(Int16) |
Devuelve el valor float de precisión media integral más cercano al valor float de precisión media especificado. |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
La |
| ShortValue() |
Devuelve el valor del número especificado como . |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToFloat(Int16) |
Convierte el valor float de precisión media especificado en un valor float de precisión única. |
| ToHalf(Single) |
Convierte el valor float de precisión única especificado en un valor float de precisión media. |
| ToHexString(Int16) |
Devuelve una representación de cadena hexadecimal del valor float de precisión media especificado. |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| ToString(Int16) |
Devuelve una representación de cadena del valor float de precisión media especificado. |
| Trunc(Int16) |
Devuelve el valor float truncado de precisión media del valor float de precisión media especificado. |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| ValueOf(Int16) |
Devuelve una |
| ValueOf(Single) |
Devuelve una |
| ValueOf(String) |
Devuelve una |
| Wait() |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IComparable.CompareTo(Object) |
La |
| IJavaPeerable.Disposed() |
La |
| IJavaPeerable.Finalized() |
La |
| IJavaPeerable.JniObjectReferenceControlBlock |
La |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
La |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
La |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
La |
| IJavaPeerable.UnregisterFromRuntime() |
La |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
La |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |