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++
course content

Conteúdo do Curso

Introdução ao C++

Introdução ao C++

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

book
Tipos 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.

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 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.

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 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:

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. 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.

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 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
ChatGPT

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

course content

Conteúdo do Curso

Introdução ao C++

Introdução ao C++

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

book
Tipos 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.

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 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.

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 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:

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. 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.

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 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
Sentimos muito que algo saiu errado. O que aconteceu?
some-alt