Swift имеет два типа данных (Double и Float) для хранения десятичных значений. Оба они содержат одинаковые значения десятичного типа, но имеют некоторые различия.

This post was originally posted at https://agrawalsuneet.github.io/blogs/double-vs-float-swift/ and reposted on Medium on 13th April 2022.

Основное различие заключается в размере памяти, которую они оба используют, в зависимости от которой варьируется их точность.

Давайте попробуем понять различия между ними на примере.

Количество цифр

  • Тип Double используется для хранения значений в 17 местах. Он начинается с крайней левой стороны и уменьшает цифры с правой стороны значения, если они превышают 17 разрядов.
  • Тип Float используется для хранения значений максимум в 8 местах. Он также начинается с крайней левой стороны и уменьшает цифры с правой стороны значения, если они превышают 8 разрядов.
var doubleVariable : Double = 1234567890.1234567890
var floatVariable : Float = 12345.12345
print(doubleVariable)
//this will print only 17 digits from left
//1234567890.1234567
print(floatVariable)
//this will print only 8 digits from left
//12345.123

Объем памяти

  • Double занимает 8 байт памяти.
  • Float занимает всего 4 байта памяти
var doubleVariable : Double = 1234567890.1234567890
var floatVariable : Float = 12345.12345
print(MemoryLayout.size(ofValue: doubleVariable))
//this will print
//8 (bytes)
print(MemoryLayout.size(ofValue: floatVariable))
//this will print
//4 (bytes)

Пожалуйста, продолжайте читать на https://agrawalsuneet.github.io/blogs/double-vs-float-swift/

Это все на данный момент. Вы можете прочитать другие мои интересные блоги здесь или насладиться моими играми или приложениями, перечисленными здесь. Не стесняйтесь использовать мои компоненты Android с открытым исходным кодом в своем приложении, указанном здесь. Или напишите электронное письмо, если вы не нашли то, что ищете, и вам нужна помощь.