2015-10-08 11 views
6

Esistono punti mobili più precisi di Double disponibili in Swift? So che in C c'è lo long double, ma non riesco a trovare il suo equivalente nel nuovo linguaggio di programmazione di Apple.Più precisione del doppio in swift

Qualsiasi aiuto sarebbe molto apprezzato!

+0

Potreste essere interessati a https: //gmplib.org/ ... – jtbandes

+0

Potrebbe essere necessario ricorrere ai tipi CoreFoundation e usare qualcosa come "CUnsignedLongLong". – JAL

+0

@JAL: CUnsignedLongLong è un tipo * integral * (un numero intero a 64 bit), non un tipo a virgola mobile. –

risposta

9

Sì, c'è! C'è esattamente Float80, memorizza 80 bit (duh), 10 byte. Puoi usarlo come qualsiasi altro tipo a virgola mobile. Si noti che ci sono Float32, Float64 e Float80 a Swift, dove Float32 è solo un typealias per Float e Float64 è uno per Double

0

Attualmente iOS 11+ gira su piattaforma a 64 bit, doppio vale più alto tra tutti.

doppia ha una precisione di almeno 15 cifre decimali, mentre la precisione del galleggiante può essere anche di soli 6 cifre decimali. Il tipo di virgola mobile appropriato da utilizzare, , dipende dalla natura e dall'intervallo dei valori che è necessario utilizzare nel codice. In situazioni in cui il tipo è appropriato, è preferibile il doppio.

Tuttavia in CGFloat Il tipo nativo utilizzato per memorizzare il CGFloat, che è galleggiante su architetture a 32-bit ea due piazze architetture a 64 bit

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html

Problemi correlati