Maison  >  Article  >  Java  >  Une brève introduction à la conversion automatique des types de base Java

Une brève introduction à la conversion automatique des types de base Java

巴扎黑
巴扎黑original
2017-08-01 11:33:431766parcourir

Les types de promotions automatiques spécifiques sont présentés dans l'image ci-dessus. Parmi eux, la conversion de long->float m'a fait sentir un peu problématique au début, car long est en 64 bits, mais float est en 32 bits.

Ensuite, j'ai cherché la réponse et j'ai évoqué le meurtre provoqué par la conversion automatique de long en float dans le blog java.

Raison

Tout d'abord, vous devez savoir que la plage de nombres que float peut représenter est plus grande que celle de long. Il est donc concevable qu'un nombre de type long puisse être converti en. type flotteur.

Type long, la plage de valeurs est -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807(-263 ~ 263- 1)

Type flottant, la plage de valeurs est 2^(-149) ---> 🎜>, c'est-à-dire Float.MIN_VALUE et Float.MAX_VALUE

Tout nombre de type long peut être représenté à l'aide de la méthode de représentation de type float. Cependant, comme float a des limites de précision, la précision peut être perdue pendant le processus de conversion, comme 31111111111111111L ---->3.1111111E15---->3111111100465152, qui est perdue après la conversion. Précision

. Deuxièmement, vous devez savoir comment le flottant 32 bits représente les décimales (je l'ai appris dans le cours sur les principes de composition informatique à l'université, mais je l'ai oublié. Je vais l'étudier maintenant et j'espère pouvoir m'en souvenir).

Principe du stockage en mémoire flottante

http://steve.hollasch.net/cgindex/coding/ieeefloat.html (norme IEEE754)

( 1) En notation décimale, 123,456 peut être exprimé par 1,23456 × 10

2

, en notation binaire 10100,110 peut être exprimé par 1,0100110 × 2

4(2) Les nombres à virgule flottante ont une précision et les nombres dépassant la précision ne peuvent pas être représentés. Par exemple, 0,0000000000000001 correspond à x chiffres après la virgule.

(3) Les nombres à virgule flottante IEEE sont composés de trois parties : le bit de signe (S), le bit d'exposant (E) et la queue (M). Tout nombre peut être exprimé en binaire sous la forme S*1.M. *2

E

表示形式如下:
Single:
(4) Résumé : La plage de représentation du flotteur est

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn