Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

IvanR

[Resolvido] Como retornar um inteiro gigante ?

Recommended Posts

preciso retornar um numero inteiro gigante, mas não sei como faze-lo, como retorna um numero negativo, parece q estoura a quantidade máxima de bytes do mesmo. por exemplo, preciso que ele retorne 3717561852, mas sempre retorna -577405444.

 

Os watch da variavel mostram o primeiro valor, mas o retorno me transforma pra este outro, oq fazer ?

 

#include <stdio.h>
unsigned int s(unsigned int num) {
  unsigned int numero = num;
  return numero;
}

int main() {
  unsigned int popo;

  popo = s(3717561852);
  printf("%d",popo);
  system("pause");
  return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

unsigned int s(unsigned int num) {
 unsigned int numero = num;
 return numero;
}

 

Qual é a finalidade disso?

 

Use unsigned long.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso era só um exemplo hipotético de onde tava o erro e oq deveria fazer, pra nuam colar um códiog gigante aki, mas já descobri, o problema era com o printf %d, que tenho q botar o %u

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende do que você quer dizer com 'usa'.

%u altera a interpretação dos bits. O bit mais significativo deixa de ser o bit de sinal e tudo fica na potência de dois positivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.