Tipos de Dados Numéricos
Números inteiros
Os tipos de dados inteiros são os mais utilizados para números inteiros. O tipo de dado int
pode armazenar valores no intervalo de -2,147,483,648
a 2,147,483,647
.
main.cpp
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, ao declarar uma variável int
, são alocados exatamente 4 bytes da memória do seu computador. E números acima de 2147483647
(ou abaixo de -2147483648
) não cabem nesses 4 bytes. Felizmente, existem outros tipos de dados disponíveis que podem alocar mais (ou menos) espaço conforme necessário. Aqui está a tabela:
Portanto, é possível utilizar long
para armazenar números grandes (por exemplo, a população mundial). Também é possível utilizar short
se houver certeza de que o número não excederá o intervalo de -32,768
a 32,767
(por exemplo, ao armazenar a idade de um usuário). O uso de short
ocupará menos espaço de memória.
main.cpp
12345678910111213#include <iostream> int main() { short age = 22; // for small numbers int likes = 143200; // for larger numbers long population = 8200000000; // for very large numbers // Display the values std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }
Tenha cuidado ao selecionar o tipo de dado. Se o intervalo de um tipo for excedido, o compilador C++ não irá notificá-lo, e um valor inesperado poderá ser recebido 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 tentarmos atribuir 1.6
a um deles, este será o resultado:
main.cpp
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), deve-se utilizar os tipos de dados float
ou double
.
Aqui está um exemplo de uso de double
para armazenar 1.6
.
main.cpp
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; }
Como o tipo float
possui apenas precisão de sete dígitos, o número 123.456789 já está fora do seu alcance. Isso pode levar a resultados imprecisos (conforme mostrado no exemplo abaixo). Portanto, é melhor utilizar double
por padrão, a menos que tenha certeza de que a precisão de float
é suficiente.
Obviamente, é possível usar float
ou double
para armazenar números inteiros, já que esses são números decimais com a 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), deve-se utilizar short
/int
/long
.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.85
Tipos de Dados Numéricos
Deslize para mostrar o menu
Números inteiros
Os tipos de dados inteiros são os mais utilizados para números inteiros. O tipo de dado int
pode armazenar valores no intervalo de -2,147,483,648
a 2,147,483,647
.
main.cpp
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, ao declarar uma variável int
, são alocados exatamente 4 bytes da memória do seu computador. E números acima de 2147483647
(ou abaixo de -2147483648
) não cabem nesses 4 bytes. Felizmente, existem outros tipos de dados disponíveis que podem alocar mais (ou menos) espaço conforme necessário. Aqui está a tabela:
Portanto, é possível utilizar long
para armazenar números grandes (por exemplo, a população mundial). Também é possível utilizar short
se houver certeza de que o número não excederá o intervalo de -32,768
a 32,767
(por exemplo, ao armazenar a idade de um usuário). O uso de short
ocupará menos espaço de memória.
main.cpp
12345678910111213#include <iostream> int main() { short age = 22; // for small numbers int likes = 143200; // for larger numbers long population = 8200000000; // for very large numbers // Display the values std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }
Tenha cuidado ao selecionar o tipo de dado. Se o intervalo de um tipo for excedido, o compilador C++ não irá notificá-lo, e um valor inesperado poderá ser recebido 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 tentarmos atribuir 1.6
a um deles, este será o resultado:
main.cpp
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), deve-se utilizar os tipos de dados float
ou double
.
Aqui está um exemplo de uso de double
para armazenar 1.6
.
main.cpp
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; }
Como o tipo float
possui apenas precisão de sete dígitos, o número 123.456789 já está fora do seu alcance. Isso pode levar a resultados imprecisos (conforme mostrado no exemplo abaixo). Portanto, é melhor utilizar double
por padrão, a menos que tenha certeza de que a precisão de float
é suficiente.
Obviamente, é possível usar float
ou double
para armazenar números inteiros, já que esses são números decimais com a 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), deve-se utilizar short
/int
/long
.
Obrigado pelo seu feedback!