Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Tipos de Dados Numéricos | Variáveis e Tipos de Dados
Introdução ao C++
course content

Conteúdo do Curso

Introdução ao C++

Introdução ao C++

1. Introdução
2. Introdução aos Operadores
3. Variáveis e Tipos de Dados
4. Introdução ao Fluxo de Programas
5. Introdução às Funções

bookTipos de Dados Numéricos

Números inteiros

Os tipos de dados Integer são os mais comumente usados para números inteiros. O tipo de dado int pode conter valores dentro do intervalo de -2.147.483.648 a 2.147.483.647.

cpp

main

copy
12345678910
#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }

Isso ocorre porque quando você declara uma variável int, ela aloca exatamente 4 bytes da memória do seu PC. E números acima de 2147483647 (ou abaixo de -2147483648) não se encaixam nesses 4 bytes. Felizmente, existem outros tipos de dados disponíveis que podem alocar mais (ou menos) espaço para suas necessidades. Aqui está a tabela:

Tipo de Dado
Intervalo
Tamanho
short
-32.768 até 32.767
2 bytes
int
-2.147.483.648 até 2.147.483.647
4 bytes
long
-9.223.372.036.854.775.808 até 9.223.372.036.854.775.807
8 bytes

Portanto, você pode usar long para armazenar números grandes (por exemplo, população mundial). Você também pode usar short se estiver certo de que o seu número não excederá a faixa de -32,768 a 32,767 (por exemplo, armazenando a idade de um usuário). Usar short ocupará menos espaço de memória.

cpp

main

copy
123456789101112
#include <iostream> int main() { short age = 22; int likes = 143200; long population = 8200000000; std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }

Nota

Tenha cuidado com o tipo de dados que você seleciona. Se o intervalo de um tipo for excedido, o compilador C++ não vai notificar você, e você pode receber um valor inesperado sem nenhuma indicação de erro.

Números de ponto flutuante

Os tipos de dados mencionados são projetados para armazenar números inteiros. Se tentássemos atribuir 1.6 a um deles, aqui está o que aconteceria:

cpp

main

copy
12345678
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }

O tipo int trunca a parte decimal de um número. Este comportamento é o mesmo para os tipos short e long. Para armazenar números de ponto flutuante (decimais)**, você deve usar o tipo de dado float ou double.

Tipo de Dado
Precisão
Tamanho
float
7 dígitos decimais
4 bytes
double
15 dígitos decimais
8 bytes

Aqui está um exemplo de como usar double para armazenar 1.6.

cpp

main

copy
12345678910
#include <iostream> int main() { float floatNum = 123.45678; double doubleNum = 123.45678; std::cout << "using float:" << floatNum - 123 << std::endl; std::cout << "using double:" << doubleNum - 123 << std::endl; }

Nota

Como o tipo float possui apenas uma precisão de sete dígitos, o número 123.456789 já está fora de seu alcance. Isso pode levar a resultados imprecisos (como mostrado no exemplo abaixo). Portanto, é melhor usar double por padrão, a menos que você tenha certeza de que a precisão de float seja suficiente.

Obviamente, você pode usar float ou double para armazenar números inteiros, já que esses são números decimais com uma parte decimal igual a 0. No entanto, como uma boa prática, se uma variável armazena valores que só podem ser números inteiros (por exemplo, população ou curtidas), deve-se utilizar short/int/long.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3
We're sorry to hear that something went wrong. What happened?
some-alt