Você está aqui: C++ ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar o tipo de dados long ou long int da linguagem C++Quantidade de visualizações: 22471 vezes |
O tipo de dados long (também chamado de long int) da linguagem C++ é uma variação do tipo int e geralmente possui a mesma capacidade de armazenamento deste. Nós o usamos quando queremos representar números inteiros, ou seja, sem partes fracionárias, assim como int. É importante verificar se o seu compilador trata int e long da mesma forma. Veja um trecho de código demonstrando o uso deste tipo (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):#include <iostream> using namespace std; int main(int argc, char *argv[]){ // declara uma variável do tipo long long quant = 590; ...... Veja que a maioria dos compiladores C++ não faz distinção entre os tipos long e long int. A capacidade de armazenamento do tipo long depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos LONG_MIN e LONG_MAX, definidos no header climits (limits.h). Veja: #include <iostream> using namespace std; int main(int argc, char *argv[]){ cout << "Valor mínimo: " << LONG_MIN << "\n"; ...... Ao executar este programa você terá um resultado parecido com: Valor mínimo: -2147483648 ...... Veja que o tipo long aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow): #include <iostream> using namespace std; int main(int argc, char *argv[]){ long soma = LONG_MAX + 2; cout << "Resultado: " << soma << "\n"; ...... Este programa exibirá o seguinte resultado: Resultado: -2147483647 ...... Note que este não é o resultado esperado, visto que LONG_MAX + 2 deveria retornar: 2147483647 + 2 = 2147483649 ...... Porém, como o valor máximo que pode ser armazenado em um long é 2147483647, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui. Em termos de bytes, é comum o tipo long ser armazenado em 4 bytes, o que resulta em 32 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo long: #include <iostream> using namespace std; int main(int argc, char *argv[]){ cout << "Tamanho de um long: " << sizeof(long) ...... O resultado da execução deste código será algo como: Tamanho de um long: 4 bytes ...... |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |