Python | Tipo flutuante e seus métodos
O float
tipo em Python representa o número de ponto flutuante. Float é usado para representar números reais e é escrito com um ponto decimal dividindo as partes inteiras e fracionárias. Por exemplo, 97,98, 32,3 + e18, -32,54e100 são todos números de ponto flutuante.
Os valores flutuantes do Python são representados como valores de precisão dupla de 64 bits. O valor máximo que qualquer número de ponto flutuante pode ter é de aproximadamente 1,8 x 10 308 . Qualquer número maior do que esse será indicado pela string inf
em Python.
(
1.7e308
)
(
1.82e308
)
Resultado:
1.7e + 308 inf
Os números de ponto flutuante são representados no hardware do computador como frações de base 2 (binárias). Por exemplo, a fração decimal 0,125 tem valor 1/10 + 2/100 + 5/1000, e da mesma forma a fração binária 0,001 tem valor 0/2 + 0/4 + 1/8. Essas duas frações têm valores idênticos, a única diferença real é que a primeira é escrita em notação fracionária de base 10 e a segunda na base 2.
Infelizmente, a maioria das frações decimais não pode ser representada exatamente como frações binárias. Uma conseqüência é que, em geral, os números de ponto flutuante decimais inseridos são aproximados apenas pelos números de ponto flutuante binários realmente armazenados na máquina.
O float
tipo implementa a numbers.Real
classe base abstrata. Retorna uma expressão que é convertida em número de ponto flutuante. float
também tem os seguintes métodos adicionais:
float.as_integer_ratio(): Retorna um par de inteiros cuja proporção é exatamente igual ao float real com um denominador positivo. No caso de infinitos, ele levanta erro de estouro e erros de valor em Não é um número (NaNs).
def
frac(d):
b
=
d.as_integer_ratio()
return
b
if
__name__
=
=
'__main__'
:
b
=
frac(
3.5
)
(b[
0
],
"/"
, b[
1
])
Resultado:
7/2
float.is_integer(): Retorna True caso a instância float seja finita com valor integral, senão, False.
def
booln():
((
-
5.0
).is_integer())
((
4.8
).is_integer())
(
float
.is_integer(
275.0
))
if
__name__
=
=
'__main__'
:
booln()
Resultado:
Verdade Falso Verdade
float.hex(): Retorna uma representação de um número de ponto flutuante como uma string hexadecimal.
def
frac(a):
a
=
float
.
hex
(
35.0
)
return
a
if
__name__
=
=
'__main__'
:
b
=
frac(
35.0
)
(b)
Resultado:
'0x1.1800000000000p + 5'
float.fromhex (s): Retorna o float representado por uma string hexadecimal s. String s pode ter espaços em branco à esquerda e à direita.
def
frac(a):
a
=
float
.fromhex(
'0x1.1800000000000p+5'
)
return
a
if
__name__
=
=
'__main__'
:
b
=
frac(
'0x1.1800000000000p+5'
)
(b)
Resultado:
35,0
Nota : float.hex() é um método de instância, mas float.fromhex() é um método de classe.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva