Thursday, April 18, 2024 04:53

Cuprins >> Introducere > Conversia de tip implicită

Conversia de tip implicită

Așa cum am discutat în ultima lecție, conversie de tip implicită (conversia ascunsă) este posibilă doar atunci când nu există nici un risc de pierdere a datelor în timpul transformării (de exemplu, la conversia unui număr de interval mai mic, cum ar fi un int, la un număr cu interval mai mare, ca un long). Motivul pentru care acest tip de transformare este numit implicit se datorează faptului că nu este nevoie de nici un operator pentru a o realiza, aceasta se face automat.

Tabelul de mai jos prezintă posibile conversii implicite pentru tipurile de date primitive:

  • sbyte → short, int, long, float, double, decimal;
  • byte → short, ushort, int, uint, long, ulong, float, double, decimal;
  • short → int, long, float, double, decimal;
  • ushort → int, uint, long, ulong, float, double, decimal;
  • char → ushort, int, uint, long, ulong, float, double, decimal
  • uint → long, ulong, float, double, decimal;
  • int → long, float, double, decimal;
  • long → float, double, decimal;
  • ulong → float, double, decimal;
  • float → double.

Există un singur lucru care trebuie menționat aici. Atunci când am vorbit despre numere reale în C#, am explicat că un întreg utilizează toți biții săi pentru a stoca valoarea numerică, în timp ce un float folosește o parte din biții săi pentru a stoca o parte fracționară. De aceea, la conversia unui int într-un float, numărul întreg poate fi rotunjit pozitiv și o pierdere de precizie poate apărea. Același lucru este valabil și pentru conversia de la tipul long în tipul double.

Conceptele explicate în această lecție sunt prezentate și vizual, ca parte a următorului videoclip:

Tags: , ,

Leave a Reply



Follow the white rabbit