Introdução
Neste laboratório, você aprenderá a trabalhar com aritmética de inteiros grandes em C usando o tipo de dado long long. O laboratório cobre os seguintes passos:
Declarar variáveis long long para lidar com valores inteiros grandes, realizar operações aritméticas básicas, como adição, subtração, multiplicação e divisão nesses inteiros grandes, e imprimir e validar os resultados. Ao final deste laboratório, você será capaz de trabalhar efetivamente com dados de inteiros grandes em seus programas C.
Declarar Variáveis long long
Neste passo, você aprenderá a declarar e usar variáveis long long em C para lidar com aritmética de inteiros grandes. O tipo de dado long long permite trabalhar com valores inteiros muito maiores em comparação com os tipos de inteiros padrão.
Primeiro, vamos criar um novo arquivo C para demonstrar a declaração de variáveis long long:
cd ~/project
nano long_integer.c
Agora, adicione o seguinte código ao arquivo:
#include <stdio.h>
int main() {
// Declarar variáveis long long
long long smallNumber = 1234567890;
long long largeNumber = 9876543210123456789LL;
// Imprimir os valores das variáveis long long
printf("Small Number: %lld\n", smallNumber);
printf("Large Number: %lld\n", largeNumber);
return 0;
}
Vamos decompor o código:
- Usamos
long longpara declarar variáveis que podem armazenar valores inteiros muito grandes. - O sufixo
LLé usado para literais de inteiros grandes para especificar explicitamente o tipolong long. - O especificador de formato
%lldé usado para imprimir inteiroslong long.
Compile e execute o programa:
gcc long_integer.c -o long_integer
./long_integer
Exemplo de saída:
Small Number: 1234567890
Large Number: 9876543210123456789
Realizar Operações Aritméticas em Inteiros Grandes
Neste passo, você aprenderá a realizar operações aritméticas em inteiros grandes usando o tipo de dado long long em C. Vamos estender o exemplo anterior para demonstrar operações matemáticas básicas.
Abra o arquivo anterior e modifique-o para incluir operações aritméticas:
cd ~/project
nano long_integer.c
Substitua o conteúdo anterior pelo seguinte código:
#include <stdio.h>
int main() {
// Declarar variáveis long long para operações aritméticas
long long num1 = 9876543210LL;
long long num2 = 1234567890LL;
// Adição
long long sum = num1 + num2;
printf("Adição: %lld + %lld = %lld\n", num1, num2, sum);
// Subtração
long long difference = num1 - num2;
printf("Subtração: %lld - %lld = %lld\n", num1, num2, difference);
// Multiplicação
long long product = num1 * num2;
printf("Multiplicação: %lld * %lld = %lld\n", num1, num2, product);
return 0;
}
Vamos decompor o código:
- Declaramos duas variáveis
long long,num1enum2. - Realizamos adição, subtração e multiplicação.
- Usamos o especificador de formato
%lldpara imprimir resultados de inteiros grandes. - O sufixo
LLgarante que os números sejam tratados como literaislong long.
Compile e execute o programa:
gcc long_integer.c -o long_integer
./long_integer
Exemplo de saída:
Adição: 9876543210 + 1234567890 = 11111111100
Subtração: 9876543210 - 1234567890 = 8641975320
Multiplicação: 9876543210 * 1234567890 = 12193263111263526900
Imprimir e Validar Resultados Grandes
Neste passo, você aprenderá a imprimir e validar resultados de inteiros grandes usando diferentes técnicas de formatação e verificação de erros em C.
Abra o arquivo anterior e modifique-o para incluir impressão e validação avançadas:
cd ~/project
nano long_integer.c
Substitua o conteúdo anterior pelo seguinte código:
#include <stdio.h>
#include <limits.h>
int main() {
// Declarar variáveis long long para cálculos grandes
long long num1 = 9876543210LL;
long long num2 = 1234567890LL;
// Multiplicação com verificação de estouro
long long product = num1 * num2;
printf("Resultado da Multiplicação: %lld\n", product);
// Demonstração de diferentes formatos de impressão
printf("Representação Hexadecimal: 0x%llx\n", product);
printf("Notação Científica: %lle\n", (double)product);
// Verificar possível estouro
if (product / num1 != num2) {
printf("Aviso: Possível estouro de inteiro detectado!\n");
}
// Valor máximo de long long
printf("Valor máximo de long long: %lld\n", LLONG_MAX);
return 0;
}
Vamos decompor o código:
- Use diferentes formatos de impressão: decimal, hexadecimal e notação científica.
- Implemente uma verificação simples de estouro dividindo o produto.
- Use
LLONG_MAXpara mostrar o valor máximo possível delong long.
Compile e execute o programa:
gcc long_integer.c -o long_integer
./long_integer
Exemplo de saída:
Resultado da Multiplicação: 12193263111263526900
Representação Hexadecimal: 0xa93263111263526900
Notação Científica: 1.219326e+19
Valor máximo de long long: 9223372036854775807
Resumo
Neste laboratório, você aprendeu a declarar e usar variáveis long long em C para lidar com aritmética de inteiros grandes. Começou declarando variáveis long long e imprimindo seus valores para compreender a faixa de valores que elas podem armazenar. Em seguida, realizou operações aritméticas básicas, como adição, subtração, multiplicação e divisão em inteiros grandes usando o tipo de dado long long. Finalmente, aprendeu a imprimir e validar os resultados dessas operações. As principais conclusões deste laboratório são a importância de usar o tipo de dado apropriado para cálculos com inteiros grandes e os especificadores de formato específicos necessários para imprimir valores long long.



