Share via


Half Classe

Definizione

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 che rappresenta l'argomento convertito in un float a metà precisione.

Half(Int16)

Costruisce un oggetto appena allocato Half che rappresenta l'argomento tipo float a precisione metà.

Half(Single)

Costruisce un oggetto appena allocato Half che rappresenta l'argomento convertito in un float a metà precisione.

Half(String)

Costruisce un oggetto appena allocato Half che rappresenta il valore float a metà precisione rappresentato dalla stringa.

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 Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
IsNaN

Restituisce true se questo Half valore rappresenta un valore Not-a-Number, false in caso contrario.

JniIdentityHashCode

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).

(Ereditato da Object)
JniPeerMembers

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).

PeerReference

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).

(Ereditato da Object)
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 .byte

(Ereditato da Number)
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 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).

(Ereditato da Object)
Dispose(Boolean)

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).

(Ereditato da Object)
DoubleValue()

Restituisce il valore di questo Half oggetto come oggetto double dopo una conversione primitiva più ampia.

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 Half oggetto come oggetto float dopo una conversione primitiva più ampia.

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 Half.

HalfToRawIntBits(Int16)

Restituisce una rappresentazione del valore float a metà precisione specificato in base al layout di bit descritto in Half.

HalfToShortBits(Int16)

Restituisce una rappresentazione del valore float a metà precisione specificato in base al layout di bit descritto in Half.

HalfValue()

Restituisce il valore a metà precisione di questo Half oggetto come oggetto short contenente la rappresentazione di bit descritta in Half.

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 Half oggetto come int dopo una conversione primitiva ristretta.

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 Half oggetto come long dopo una conversione primitiva ristretta.

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 .short

(Ereditato da Number)
ToArray<T>()

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).

(Ereditato da Object)
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 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).

(Ereditato da Object)
ValueOf(Int16)

Restituisce un'istanza Half che rappresenta il valore float a metà precisione specificato.

ValueOf(Single)

Restituisce un'istanza Half che rappresenta il valore float specificato.

ValueOf(String)

Restituisce un'istanza Half che rappresenta il valore stringa specificato.

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 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).

IJavaPeerable.Disposed()

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).

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

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).

(Ereditato da Object)
IJavaPeerable.Finalized()

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).

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

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).

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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).

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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).

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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).

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo verificato dal runtime Android.

JavaCast<TResult>(IJavaObject)

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).

GetJniTypeName(IJavaPeerable)

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).

Si applica a