Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Liukuluvut | Tietotyypit
Johdatus Golangiin

bookLiukuluvut

Jos yritämme tallentaa desimaaliluvun kokonaislukumuuttujaan, saamme virheen:

index.go

index.go

copy
12
var myVariable int myVariable = 7.9 // Error in this line

Desimaalilukujen tallentamiseen tarvitaan eri tietotyyppi. Ohjelmointikielissä, mukaan lukien Go, käytetään liukulukuja (engl. floating-point numbers), joita kutsutaan usein lyhyesti floateiksi, desimaalilukujen esittämiseen.

Go:ssa liukulukuja on kahta tyyppiä: float32 ja float64. float32 on 32-bittinen tyyppi, jolla on rajallinen tarkkuus ja joka soveltuu laajalle joukolle desimaalilukuja, kun muistin säästö on tärkeää. Vastaavasti float64 on 64-bittinen tyyppi, jota kutsutaan "kaksoistarkkuudeksi" (double precision), ja se tarjoaa suuremman tarkkuuden, minkä vuoksi se on oletusvalinta useimmissa tarkkuutta vaativissa laskutoimituksissa.

index.go

index.go

copy
12345678910
package main import "fmt" func main() { var myFloatValue1 float32 = 3.1415926535 var myFloatValue2 float64 = 3.1415926535 fmt.Println("float32:", myFloatValue1) fmt.Println("float64:", myFloatValue2) }

Yllä olevan ohjelman tulosteessa voidaan havaita, että myFloatValue1-muuttuja, jonka tyyppi on float32, säilyttää enintään 7 desimaalia. On huomionarvoista, että viimeinen numero pyöristetään arvoon 7, jolloin tulokseksi saadaan 3.1415927 alkuperäisen 3.1415926535 sijaan.

Vastaavasti myFloatValue2 tulostaa koko tarkkuudella arvon 3.1415926535.

question mark

Mikä on koodin tuloste?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain why float32 has limited precision compared to float64?

What are some common use cases for float32 and float64 in Go?

How do I declare and use floating-point variables in Go?

Awesome!

Completion rate improved to 1.96

bookLiukuluvut

Pyyhkäise näyttääksesi valikon

Jos yritämme tallentaa desimaaliluvun kokonaislukumuuttujaan, saamme virheen:

index.go

index.go

copy
12
var myVariable int myVariable = 7.9 // Error in this line

Desimaalilukujen tallentamiseen tarvitaan eri tietotyyppi. Ohjelmointikielissä, mukaan lukien Go, käytetään liukulukuja (engl. floating-point numbers), joita kutsutaan usein lyhyesti floateiksi, desimaalilukujen esittämiseen.

Go:ssa liukulukuja on kahta tyyppiä: float32 ja float64. float32 on 32-bittinen tyyppi, jolla on rajallinen tarkkuus ja joka soveltuu laajalle joukolle desimaalilukuja, kun muistin säästö on tärkeää. Vastaavasti float64 on 64-bittinen tyyppi, jota kutsutaan "kaksoistarkkuudeksi" (double precision), ja se tarjoaa suuremman tarkkuuden, minkä vuoksi se on oletusvalinta useimmissa tarkkuutta vaativissa laskutoimituksissa.

index.go

index.go

copy
12345678910
package main import "fmt" func main() { var myFloatValue1 float32 = 3.1415926535 var myFloatValue2 float64 = 3.1415926535 fmt.Println("float32:", myFloatValue1) fmt.Println("float64:", myFloatValue2) }

Yllä olevan ohjelman tulosteessa voidaan havaita, että myFloatValue1-muuttuja, jonka tyyppi on float32, säilyttää enintään 7 desimaalia. On huomionarvoista, että viimeinen numero pyöristetään arvoon 7, jolloin tulokseksi saadaan 3.1415927 alkuperäisen 3.1415926535 sijaan.

Vastaavasti myFloatValue2 tulostaa koko tarkkuudella arvon 3.1415926535.

question mark

Mikä on koodin tuloste?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2
some-alt