Dúvida Tipos

3 views
Skip to first unread message

Pedro Lopes

unread,
Sep 30, 2025, 2:36:31 PM (6 days ago) Sep 30
to [CEFET-MG]: Linguagens de Programação (DECOM009)
Olá, professor! Tudo bem?

Estava fazendo a lista de Tipos e me apareceu uma dúvida: se o tipo inteiro em Java possui um tamanho pré-definido e em C depende do compilador, como pode alguma linguagem forçar este tamanho em baixo nível? Quer dizer, há a possibilidade de criar um compilador em Java que, quando vê uma variável inteira, reserva um tamanho menor que o pré definido pela linguagem? Imagino que possa haver problemas com o formato dos arquivos gerados, mas como pode uma linguagem forçar que ninguém viole esta regra estabelecida por ela?

Atenciosamente, Pedro Lopes.

Andrei Alvares

unread,
Sep 30, 2025, 2:48:45 PM (6 days ago) Sep 30
to Pedro Lopes, [CEFET-MG]: Linguagens de Programação (DECOM009)
Ei Pedro,

  No caso de Java que força o tamanho do tipo na especificação da linguagem, o compilador precisa gerar código para contornar a limitação do hardware. Normalmente o que é feito é usar um tipo simulado. Por exemplo, para operações com o tipo "long" poderia-se criar uma classe com métodos para tratar cada uma das operações suportadas por este tipo (uma função para soma, outra para multiplicação, etc). Aí internamente, poderia se usar um vetor de 2 inteiros e de alguma forma realizar essas operações nesta estrutura (o que não é tão trivial).

    []z, Andrei

PS: Java possui uma classe chamada BigInteger que permite realizar contas com inteiros, a princípio, de qualquer tamanho (limitado à quantidade de memória do computador e não ao tamanho da palavra do seu processador - 64 bits por exemplo).

--
Você recebeu essa mensagem porque está inscrito no grupo "[CEFET-MG]: Linguagens de Programação (DECOM009)" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para decom009+u...@googlegroups.com.
Para ver esta conversa, acesse https://groups.google.com/d/msgid/decom009/b64ed78a-9b7e-4131-83dc-c8c2a1de830cn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages