zekunhao Postado Abril 28, 2020 Denunciar Share Postado Abril 28, 2020 A linguaguem c não processa mais que 32 bits? Estou usando o mingw-w64 8.1.0 e o windows10 de 64 bits #include <stdio.h> #include <stdint.h> int main(){ int64_t x = 0x00000001FFFFFFFF; printf("0x%016X\n",x); printf("%d\n",x); printf("%i\n",x); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Abril 29, 2020 Denunciar Share Postado Abril 29, 2020 prove printf("%I64d", n); serve para long long int n = 9234567890123456; printf("%I64d", n); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 zekunhao Postado Maio 4, 2020 Autor Denunciar Share Postado Maio 4, 2020 Funciona, God. Depois de muito quebrar a cabeça, aprendi que a declaracao e a formatacao de variaveis de 64bits é diferente pra alguns gccs. O pior que não encontrei essa info na epoca que precisava. não é uma info facil, afinal quase ngm trabalha com mais q 32bits. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Maio 6, 2020 Denunciar Share Postado Maio 6, 2020 no windows isso é assim, mas se você puser fizer um define assim: #include <stdio.h> #define __USE_MINGW_ANSI_STDIO 1 int main(){ long long int n=10; printf("%lld", n); return 0; } o lld funciona. outras opções são: ou criar um flag no qual seja possivel ativar e desativar A ultima opção seria incluindo diretamente na linha de compilação: -D __USE_MINGW_ANSI_STDIO=1 graças a @isrnick que me passou essa solução >_< Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
zekunhao
A linguaguem c não processa mais que 32 bits?
Estou usando o mingw-w64 8.1.0 e o windows10 de 64 bits
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.