Miten saisin muuttujaan jonkin todella suuren luvun?
>LONG
System.Decimal. (Ellei System.Int64 riitä; eikös Long ole 32-bittinen?)
NanoSoft kirjoitti:
Miten saisin muuttujaan jonkin todella suuren luvun?
>LONG
Ainakin Visual Basic Expressissä Long on 8 tavua.
-9,223,372,036,854,775,808 through 9,223,372,036,854,775,807 (9.2...E+18 †) (signed)
Jos positiiviset luvut riittävät, niin on myös etumerkitön datatyyppi Ulong, 8 tavua.
0 through 18,446,744,073,709,551,615 (1.8...E+19 †) (unsigned)
Miten ison luvun oikein tarvitset?
Hannu kirjoitti:
Miten ison luvun oikein tarvitset?
Suunnilleen noin ison kuin tuo sinun koko tekstisi...
Etkö voi kasitellä lukua muodossa a*2^b ja antaa muuttujille a ja b pienet arvot?
anna esimerkki! toihan laitetaan muuttujaan ja se luku on taas iso ja se heittää erroria, jos nyt ymmärsin oikein.
VB.net ratkaisu on käyttää bitarray tyyppiä:
https://www.ohjelmointiputka.net/koodivinkit/
Tarkoitin, että jos luku on esimerkiksi 1.6*2^1000, on a=1.6 ja b=1000. Nyt voit laskea logaritmeillä tulojen, osamäärien ja potenssien arvoja. Yhteen- ja vähennyslaskussa voidaan tarkistamalla onko luvuissa yhtä monta numeroa ja laskemalla ensimmäiseten lukujen summa/erotus. Tämä tuottaa tosin vain likiarvoja.
Aihe on jo aika vanha, joten et voi enää vastata siihen.