Números grotescos

5 respostas
D

fala galera!
o tipo [color=“blue”]long[/color] de variável é o q suporta os maiores números inteiros não é?
vi q o intervalo para esse tipo de variável esta entre -9.223.372.036.854.775.080 a +9.223.372.036.854.775.807
mas pro q eu to precisando, esse é número ainda é MTO pequeno! 8O 8O

como eu vo precisar apenas dos números POSITIVOS, tem como de declarar uma variável do tipo [color=“blue”]long[/color] e q tenha só os números positivos? aí os 64 bits para esse número seria apenas de 0 até mais ou menos 20.000.000.000.000.000.000 8O 8O
e acreditem, AINDA SERIA PEQUENO!
preciso calcular com numeros realmente grotescos algo tem torno de mais ou menos 2.000.000.000.000.000.000.000.000.000.000 PELO MENOS!

java tem a capacidade de calcular números TAO enormes assim?

eu ja vi algo do tipo de BigInteger… tem um BigLong?
ou entao um ExtratosfericLong??? hahahaha

eu tava pensando em tentar criar um algoritmo q fizesse contas assim como nós fazemos no papel, e aí ele ia colocando os números numa String… aí o numero podia ser tao grande qto quisesse… mas se o Java já está preparado para suportar um numero enorme desse jeito, por favor, me falem como! hehehe

valeu!!

ah! ficaram curiosos sobre pra q eu quero trabalhar essa numerada toda?
pois a responsta é… simular com precisão dados de moléculas, distancia entre planetas, entre galáxias, segundos desde a criação da terra… é mais ou menos por aí…
coisa de doido né? pois é… reclamem com meu professor!! ahahah

5 Respostas

M

daniel, se o java suporta algum tipo de long estratosférico eu não sei cara, mas… e o computador do teu professor? suporta? hahaha, vai levar zilhões de anos calculando… a não ser q ele ja tenha um computador quantico… :lol: ou, trabalhe na nasa!

D

hahaha… fala matheus!

entao…
q vai demorar pra calcular, isso vai… mas nao taaaanto… pq a maioria das contas usa fatorial pra calcular, e com fatorial se cha mto rapido a esse numero todo…

mas tem um esquema de calcular tudo isso de um jeito de no minimo umas 10 vezes mais rapido… só com Java logico! pq Jva o há! hahahaa
usando multithreading!! eu to com uma ideia de separar os valores em varios pedaços e usar cada thread calculando 1/10 do pedaço ao mesmo tempo, e uma passando valores para uma variável global q ficaria encarregada de acumular todo montante!

mas de inicio, ja ajudaria mto só trabalhar com os numero inteiros do long… tem como? pq aí ja dobraria a capacidade da variavel…
em C tem esse equema, mas eu nao lembro como… indicava junto na delcaração da variavel…
tem esse esquema no Java? trabalhar só com positivos para poder ter mais capacidade no armazenamento?

valeu!

M

nao existe o unsigned em Java… :roll:

D

entao nao existe como calcular valores maiores do q um [color=“blue”]long[/color] ??

valeu

D

galera…
só pra constar, consegui mexer com número REALMENTE grandes!
nada como a Documentação do Java!
achei la o BigDecimal…
e pra testar, fiz um programinha q calcula o fatorial de [size=“18”]250[/size]!!!

em menos de 5 segundos ele me retornou TODOS o fatoriais!

saiu com 493 numeros!!!

segue o código do programa!

import java.math.*;

class numGrande
{

    public static void main(String args[])
    {
         BigDecimal a = new BigDecimal("1");
         String x="";
         int i;
         for(i=1;i<=250;i++)
         {
            x = x.valueOf(i);
            BigDecimal b = new BigDecimal(x);
            a = a.multiply(b);
            System.out.println("Fatorial de [" + i + "] = " + a);
         }
         x = a.toString();
         int xx = x.length();
         System.out.println("O fatorial de " + (i-1) + " teve " + xx + " numeros!");
    }
}

abraços!!

Criado 18 de maio de 2004
Ultima resposta 18 de mai. de 2004
Respostas 5
Participantes 2