Olá. Não consegui compreender porque o 3.14 não pode ser armazenado em uma variável de 32bits (float) sem o casting. Porque é considerado como um valor com 64bits?
Olá. Não consegui compreender porque o 3.14 não pode ser armazenado em uma variável de 32bits (float) sem o casting. Porque é considerado como um valor com 64bits?
Oii Joice, tudo certo?
Quando armazenamos um número com casas decimais em uma variável, o compilador entende esse número como um double
, por padrão e reserva 64 bits para armazená-lo, ao invés de 32 bits. Então, por mais que a gente declare
float numero = 3.14;
o compilador ainda acha que estamos trabalhando com um double
. Por isso, devemos fazer o casting, seja fazendo 3.14f
(mais simples) ou
float numero = (float) 3.14;
Espero que tenha ficado mais claro!
Abraços e bons estudos!
Oi, Iasmin. Estou bem, espero que esteja bem tbm. Ficou mais claro sim, agradeço a explicação. :D