Half Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
La Half
classe è un wrapper e una classe di utilità per modificare i tipi di dati a virgola mobile IEEE 754 a metà precisione (detti anche fp16 o 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
- Ereditarietà
- Attributi
- Implementazioni
Commenti
La Half
classe è un wrapper e una classe di utilità per modificare i tipi di dati a virgola mobile IEEE 754 a metà precisione (detti anche fp16 o binary16). Un float a metà precisione può essere creato o convertito in float a precisione singola e viene archiviato in un tipo di dati breve. Per distinguere i valori brevi che contengono valori float a metà precisione da valori brevi regolari, è consigliabile usare l'annotazione @HalfFloat
.
Lo standard IEEE 754 specifica un fp16 come formato seguente:
<ul>li Sign bit: 1 bit</li><>Exponent width: 5 bits</li<>li>Significand: 10 bits</li></ul><>
Il formato è disposto nel modo seguente:
1 11111 1111111111
^ --^-- -----^----
sign | |_______ significand
|
-- exponent
I punti mobili a precisione ridotta possono essere utili per risparmiare memoria e/o larghezza di banda a scapito dell'intervallo e della precisione rispetto ai punti mobili a precisione singola (fp32).
Per decidere se fp16 è il tipo di archiviazione appropriato, fare riferimento alla tabella seguente che mostra la precisione disponibile nell'intervallo di valori possibili. La <colonna em>precision</em> indica le dimensioni dei passaggi tra due numeri consecutivi in una parte specifica dell'intervallo.
<table summary="Precision of fp16 across the range">tr th 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 tr>><<td>>1 ⁄ 8.192</td td>><1 ⁄ 8.388.608</td></tr tr><><td 1>>><< ⁄ 4.096< td td>><1 ⁄ 4.194.304</td></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><td>><1 ⁄ 512</td td>><1 ⁄ 524,288</td></tr><td>><1 ⁄ 256</td><td>1 ⁄ 262.144/td/tr td>><><1 ⁄ 128</td td><>1 ⁄ 131.072</td></tr>><<td>1 ⁄ 64</td td><>1 ⁄ 65.536</td></tr td>><><1 ⁄ 32</td td><>1 ⁄ 32.768</td/tr><><td>1 ⁄ 16</td><td>1 ⁄ 16.384</td><></tr>><<<tr><td>1 ⁄ 8</td td>><1 ⁄ 8.192</td></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 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><><td 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 td>><<>1,024</td td td><>1</td></tr tr><><td>2.048</td td><>2</td></tr tr<>><td>4.096</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>
Questa tabella mostra che i numeri superiori a 1024 perdono tutta la precisione frazionaria.
Documentazione java per android.util.Half
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal Android e usato in base ai termini descritti in 2.5 Attribution License Creative Commons 2.5 Attribution License.
Costruttori
Half(Double) |
Costruisce un oggetto appena allocato |
Half(Int16) |
Costruisce un oggetto appena allocato |
Half(Single) |
Costruisce un oggetto appena allocato |
Half(String) |
Costruisce un oggetto appena allocato |
Campi
Epsilon |
Epsilon è la differenza tra 1. |
LowestValue |
Il valore negativo più piccolo può avere un valore float a metà precisione. |
MaxExponent |
L'esponente massimo di un float a metà precisione finito può avere. |
MaxValue |
Il valore finito massimo positivo di un float a metà precisione può avere. |
MinExponent |
L'esponente minimo di un float a metà precisione normalizzato può avere. |
MinNormal |
Il valore normale positivo più piccolo può avere un valore float a metà precisione. |
MinValue |
Il valore positivo più piccolo non zero di un float a metà precisione può avere. |
NaN |
Rappresentazione not-a-Number di un float a metà precisione. |
NegativeInfinity |
Infinito negativo di tipo float a metà precisione. |
NegativeZero |
Valore negativo 0 del tipo float a metà precisione. |
PositiveInfinity |
Infinito positivo di tipo float a metà precisione. |
PositiveZero |
0 positivo di tipo float a metà precisione. |
Size |
Numero di bit utilizzati per rappresentare un valore float a metà precisione. |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
IsNaN |
Restituisce true se questo |
JniIdentityHashCode |
La |
JniPeerMembers |
La |
PeerReference |
La |
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Number) |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Number) |
Metodi
Abs(Int16) |
Restituisce il valore assoluto del valore float a metà precisione specificato. |
ByteValue() |
Restituisce il valore del numero specificato come . |
Ceil(Int16) |
Restituisce il valore float a metà precisione più piccolo verso un infinito negativo maggiore o uguale al valore float a metà precisione specificato. |
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Compare(Int16, Int16) |
Confronta i due valori float a metà precisione specificati. |
CompareTo(Half) |
Confronta i due valori float a metà precisione specificati. |
CopySign(Int16, Int16) |
Restituisce il primo parametro con il segno del secondo parametro. |
Dispose() |
La |
Dispose(Boolean) |
La |
DoubleValue() |
Restituisce il valore di questo |
Equals(Int16, Int16) |
Restituisce true se i due valori float a metà precisione sono uguali. |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
FloatValue() |
Restituisce il valore di questo |
Floor(Int16) |
Restituisce il valore float a metà precisione più grande verso un infinito positivo minore o uguale al valore float a metà precisione specificato. |
GetExponent(Int16) |
Restituisce l'esponente non imparziale utilizzato nella rappresentazione del valore float a metà precisione specificato. |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
GetSign(Int16) |
Restituisce il segno del valore float a metà precisione specificato. |
GetSignificand(Int16) |
Restituisce il significando o la mantissa utilizzata nella rappresentazione del valore float a metà precisione specificato. |
Greater(Int16, Int16) |
Restituisce true se il valore float della prima precisione a metà è maggiore (maggiore verso l'infinito positivo) rispetto al secondo valore float a precisione metà. |
GreaterEquals(Int16, Int16) |
Restituisce true se il valore float della prima precisione a metà è maggiore (maggiore verso l'infinito positivo) rispetto o uguale al valore float a metà precisione. |
HalfToIntBits(Int16) |
Restituisce una rappresentazione del valore float a metà precisione specificato in base al layout di bit descritto in |
HalfToRawIntBits(Int16) |
Restituisce una rappresentazione del valore float a metà precisione specificato in base al layout di bit descritto in |
HalfToShortBits(Int16) |
Restituisce una rappresentazione del valore float a metà precisione specificato in base al layout di bit descritto in |
HalfValue() |
Restituisce il valore a metà precisione di questo |
HashCode(Int16) |
Restituisce un codice hash per un valore float a metà precisione. |
IntBitsToHalf(Int32) |
Restituisce il valore float a metà precisione corrispondente a una rappresentazione di bit specificata. |
IntValue() |
Restituisce il valore di questo |
InvokeIsNaN(Int16) |
Restituisce true se il valore float a metà precisione specificato rappresenta un valore Not-a-Number, false in caso contrario. |
IsInfinite(Int16) |
Restituisce true se il valore float a metà precisione specificato rappresenta infinito, false in caso contrario. |
IsNormalized(Int16) |
Restituisce true se il valore float a metà precisione specificato è normalizzato (non ha una rappresentazione subnormaale). |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
Less(Int16, Int16) |
Restituisce true se il valore float della prima precisione a metà è minore (minore verso l'infinito negativo) rispetto al valore float a metà precisione. |
LessEquals(Int16, Int16) |
Restituisce true se il valore float della prima precisione a metà è minore (minore verso l'infinito negativo) o uguale al valore float a metà precisione. |
LongValue() |
Restituisce il valore di questo |
Max(Int16, Int16) |
Restituisce il valore più grande di due valori float a metà precisione (il valore più vicino all'infinito positivo). |
Min(Int16, Int16) |
Restituisce il valore più piccolo di due valori float a metà precisione (il valore più vicino all'infinito negativo). |
Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitoraggio di questo oggetto. (Ereditato da Object) |
ParseHalf(String) |
Restituisce il valore float a metà precisione rappresentato dalla stringa specificata. |
Round(Int16) |
Restituisce il valore float a metà precisione integrale più vicino al valore float a metà precisione specificato. |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
ShortValue() |
Restituisce il valore del numero specificato come . |
ToArray<T>() |
La |
ToFloat(Int16) |
Converte il valore float a metà precisione specificato in un valore float a precisione singola. |
ToHalf(Single) |
Converte il valore float a precisione singola specificato in un valore float a precisione metà. |
ToHexString(Int16) |
Restituisce una rappresentazione di stringa esadecimale del valore float a metà precisione specificato. |
ToString() |
Restituisce una rappresentazione in formato stringa dell'oggetto. (Ereditato da Object) |
ToString(Int16) |
Restituisce una rappresentazione di stringa del valore float a metà precisione specificato. |
Trunc(Int16) |
Restituisce il valore float a metà precisione troncato del valore float a metà precisione specificato. |
UnregisterFromRuntime() |
La |
ValueOf(Int16) |
Restituisce un'istanza |
ValueOf(Single) |
Restituisce un'istanza |
ValueOf(String) |
Restituisce un'istanza |
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una>notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale. (Ereditato da Object) |
Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IComparable.CompareTo(Object) |
La |
IJavaPeerable.Disposed() |
La |
IJavaPeerable.DisposeUnlessReferenced() |
La |
IJavaPeerable.Finalized() |
La |
IJavaPeerable.JniManagedPeerState |
La |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
La |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
La |
IJavaPeerable.SetPeerReference(JniObjectReference) |
La |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo verificato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
La |
GetJniTypeName(IJavaPeerable) |
La |