Conteúdo do Curso
C++ Data Types
1. Tipos de Dados Numéricos
2. Numerical Data Types
4. Outros Tipos de Dados e Conversão de Tipos
C++ Data Types
flutuar
Os números não terminam com inteiros. Existem também os números de ponto flutuante.
Em C++, utilizamos os tipos de dados float
e double
para armazená-los.
Este capítulo abordará o tipo de dado float
, enquanto o próximo tratará do tipo double
e suas distinções. Abaixo está a sintaxe para a utilização de float
:
Let's take a quick look at how floating-point numbers are stored in memory.
The float
data type takes up 4 bytes of memory, just like an int
. However, converting such numbers to binary code is much trickier:
Here is an example of how float num = 13.45
would be stored:
Não há problema se você não entender completamente o que está acontecendo aqui. O importante a se notar é que a representação de um float
é dividida em 3 partes:
- sinal (+ ou -)
- expoente que determina o intervalo que um número pode assumir. Quanto maior o expoente, maior o intervalo permitido. Para o tipo de dado float, o comprimento do expoente é de 1 byte (8 bits).
- mantissa que determina a precisão que um float pode ter. Nem todos os números podem ser completamente ajustados na memória, e a precisão de um número é definida pelo comprimento da mantissa. Para o tipo de dado float, o comprimento da mantissa é de 23 bits.
Como resultado, float
tem uma precisão de 7 dígitos decimais e um intervalo de 1.2e-38 a 3.4e+38 (aplicável a números negativos e positivos)
Assim, na maioria das vezes, o intervalo não é um problema. Mas a precisão às vezes é.
Data Component | Description | Length |
---|---|---|
Sign | + or - | |
Exponent | Determines the range a number can take. The larger the exponent, the wider the allowed range. For the float data type, the exponent length is 1 byte (8 bits). | 1 byte (8 bits) |
Mantissa | Determines the precision a float can have. Not all numbers can be completely fitted into memory, and the precision of a number is defined by the length of the mantissa. For the float data type, the mantissa length is 23 bits. | 23 bits |
Como resultado, float
possui uma precisão de 7 dígitos decimais e uma faixa de 1,2e-38 a 3,4e+38 (aplicável tanto para números negativos quanto positivos). Portanto, na maioria das vezes, a faixa não é um problema. Mas, às vezes, a precisão é.
Tudo estava claro?
Conteúdo do Curso
C++ Data Types
1. Tipos de Dados Numéricos
2. Numerical Data Types
4. Outros Tipos de Dados e Conversão de Tipos
C++ Data Types
flutuar
Os números não terminam com inteiros. Existem também os números de ponto flutuante.
Em C++, utilizamos os tipos de dados float
e double
para armazená-los.
Este capítulo abordará o tipo de dado float
, enquanto o próximo tratará do tipo double
e suas distinções. Abaixo está a sintaxe para a utilização de float
:
Let's take a quick look at how floating-point numbers are stored in memory.
The float
data type takes up 4 bytes of memory, just like an int
. However, converting such numbers to binary code is much trickier:
Here is an example of how float num = 13.45
would be stored:
Não há problema se você não entender completamente o que está acontecendo aqui. O importante a se notar é que a representação de um float
é dividida em 3 partes:
- sinal (+ ou -)
- expoente que determina o intervalo que um número pode assumir. Quanto maior o expoente, maior o intervalo permitido. Para o tipo de dado float, o comprimento do expoente é de 1 byte (8 bits).
- mantissa que determina a precisão que um float pode ter. Nem todos os números podem ser completamente ajustados na memória, e a precisão de um número é definida pelo comprimento da mantissa. Para o tipo de dado float, o comprimento da mantissa é de 23 bits.
Como resultado, float
tem uma precisão de 7 dígitos decimais e um intervalo de 1.2e-38 a 3.4e+38 (aplicável a números negativos e positivos)
Assim, na maioria das vezes, o intervalo não é um problema. Mas a precisão às vezes é.
Data Component | Description | Length |
---|---|---|
Sign | + or - | |
Exponent | Determines the range a number can take. The larger the exponent, the wider the allowed range. For the float data type, the exponent length is 1 byte (8 bits). | 1 byte (8 bits) |
Mantissa | Determines the precision a float can have. Not all numbers can be completely fitted into memory, and the precision of a number is defined by the length of the mantissa. For the float data type, the mantissa length is 23 bits. | 23 bits |
Como resultado, float
possui uma precisão de 7 dígitos decimais e uma faixa de 1,2e-38 a 3,4e+38 (aplicável tanto para números negativos quanto positivos). Portanto, na maioria das vezes, a faixa não é um problema. Mas, às vezes, a precisão é.
Tudo estava claro?