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

bookTipos de Dados Numéricos

Números inteiros

Os tipos de dados inteiros são os mais comumente usados para números inteiros. O tipo de dado int pode armazenar valores dentro do intervalo de -2,147,483,648 a 2,147,483,647.

main.cpp

main.cpp

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 acontece porque quando você declara uma variável int, ela aloca precisamente 4 bytes da memória do seu PC. E números acima de 2147483647 (ou abaixo de -2147483648) não cabem dentro desses 4 bytes. Felizmente, outros tipos de dados disponíveis podem alocar mais (ou menos) espaço para suas necessidades. Aqui está a tabela:

Tipo de Dados
Intervalo
Tamanho
short
-32,768 a 32,767
2 bytes
int
-2,147,483,648 a 2,147,483,647
4 bytes
long
-9223372036854775808 a 9223372036854775807
8 bytes

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

main.cpp

main.cpp

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 dado que você seleciona. Se o intervalo de um tipo for excedido, o compilador C++ não irá notificá-lo, e você pode receber um valor inesperado sem qualquer indicação de erro.

Números de ponto flutuante

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

main.cpp

main.cpp

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. Esse 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 uso de double para armazenar 1.6.

main.cpp

main.cpp

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 tem apenas uma precisão de sete dígitos, o número 123.456789 já está fora do 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 é 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 boa prática, se uma variável armazena valores que só podem ser números inteiros (por exemplo, população ou curtidas), short/int/long devem ser usados.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 4

bookTipos de Dados Numéricos

Deslize para mostrar o menu

Números inteiros

Os tipos de dados inteiros são os mais comumente usados para números inteiros. O tipo de dado int pode armazenar valores dentro do intervalo de -2,147,483,648 a 2,147,483,647.

main.cpp

main.cpp

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 acontece porque quando você declara uma variável int, ela aloca precisamente 4 bytes da memória do seu PC. E números acima de 2147483647 (ou abaixo de -2147483648) não cabem dentro desses 4 bytes. Felizmente, outros tipos de dados disponíveis podem alocar mais (ou menos) espaço para suas necessidades. Aqui está a tabela:

Tipo de Dados
Intervalo
Tamanho
short
-32,768 a 32,767
2 bytes
int
-2,147,483,648 a 2,147,483,647
4 bytes
long
-9223372036854775808 a 9223372036854775807
8 bytes

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

main.cpp

main.cpp

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 dado que você seleciona. Se o intervalo de um tipo for excedido, o compilador C++ não irá notificá-lo, e você pode receber um valor inesperado sem qualquer indicação de erro.

Números de ponto flutuante

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

main.cpp

main.cpp

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. Esse 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 uso de double para armazenar 1.6.

main.cpp

main.cpp

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 tem apenas uma precisão de sete dígitos, o número 123.456789 já está fora do 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 é 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 boa prática, se uma variável armazena valores que só podem ser números inteiros (por exemplo, população ou curtidas), short/int/long devem ser usados.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3
some-alt