The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Veidi, kas satur skaitļus ar zīmēm aiz komata – peldošais, dubultais
Šos datu tipus bieži sauc par peldošā komata datu tipiem. Skaitļi tiek saukti par peldošā komata skaitļiem.
pludiņa fvar = 50,15; dubultā dvar = 50,0;
Salīdziniet peldošā komata datu tipu – peldošais un dubultais
Atšķirība starp peldošo un dubulto datu tipu ir saistīta ar precizitāti līdz decimālzīmju skaitam.
Pamatojoties uz VexOS – ARM 7 specifikāciju, pludiņš var izturēt 6 vai 7 vietas, bet dubultais var apstrādāt 15 vai 16 vietas.
pludiņš: pašreizējā V5OS kontrolleris, šķiet, pieļauj precizitāti līdz 8 zīmēm aiz komata.
piem
peldošais fvar1 = 1,12345670; peldošais fvar2 = 1,12345678;
fval1 atšķiras no fvar2,
vs
peldošais fvar1 = 1,123456780; peldošais fvar2 = 1,123456781;
fval1 tiks novērtēts tāpat kā fvar2.
dubultā: nodrošina līdz 17 zīmēm aiz komata.
piem
dubultā dvar1 = 1,12345678912345678; dubultā dvar2 = 1,12345678912345670;
dval1 atšķiras no dvar2,
vs
dubultā dvar1 = 1,123456789123456789; dubultā dvar2 = 1,123456789123456780;
dval1 tiks novērtēts tāpat kā dvar2.
Neizmantojiet "dubulto", ja vien jums nav nepieciešama augsta precizitāte
Ir divi iemesli, kāpēc nevajadzētu lietot "dubulto", ja vien jums nav nepieciešama augsta precizitāte:
- Tas aizņem 2X pludiņa veidu.
- Tas aizņem daudz lielāku apstrādes jaudu.
Pamatojoties uz VexOS – ARM 7 specifikāciju, pludiņš var ieņemt 6 vai 7 vietas, bet dubultais – 15 vai 16. Nevienā gadījumā jums nevajadzētu paļauties uz pēdējo ciparu precizitāti dubultā vai peldošā režīmā. Tas tiek glabāts ļoti atšķirīgi no “int” glabāšanas, ko sauc par “peldošā punkta aprēķinu” (kas neietilpst šī raksta darbības jomā).
Tādējādi jūs, iespējams, zaudēsit precizitāti pēdējās zīmēs aiz komata.
Darbība dubultā ir diezgan dārga, salīdzinot ar peldošo, un daudz augstāka nekā “vesels skaitlis”, ko sauc par peldošā komata aprēķiniem.
Pamatojoties uz IEEE standartu, tālāk norādītais ir drošākā diapazonā.
| Tips | Mazākā pozitīvā vērtība | Lielākā pozitīvā vērtība | Precizitātes # |
|---|---|---|---|
| peldēt | 10 -38 x 1,17549 | 10 38 x 3,40282 | 6 cipari |
| dubultā | 10 -308 vai 2.22507 | 10 x 1,79769 | 15 cipari |
Vai varat apmainīties ar primitīviem datu veidiem? - Liešana
Ir iespējams apmainīties ar datu veidiem. Šo paņēmienu sauc par liešanu. Lai gan liešana ir diezgan izplatīta prakse, dariet to tikai tad, ja tas ir nepieciešams.
Viena no visizplatītākajām praksēm ir char un int apmaiņa.
Tas ir tāpēc, ka tie abi apzīmē veselas vērtības ar vienu izņēmumu:
- "int" satur 4 baitus (vai 8 baitus dažos kompilatoros)
- “char” satur tikai 1 baitu.
Tātad, piem
char aVal = 100; int iVal = aVal; // netiešā liešana
vai
int iVal = (char) aVal; // skaidra liešana.
Uzmanību par netiešu saīsināšanu:
piem
Vēl viena izplatīta prakse ir apmaiņa ar int un float
pludiņa fVal = 5,486; peldošā daļa = fVal - (int)fVal; //tas ir: 5.486–5
Uzmanību par netiešu saīsināšanu:
piem
int iVal = 50; peldēt fVal = iVal / 100;
tagad fVal = 0,0, NEVIS 0,5.
Ir pilnīgi pareizi izmantot netiešās saīsināšanas priekšrocības, kas dažos scenārijos bieži ir svarīga darbību daļa. Tomēr jums ir jāpārliecinās, ka izmantojat šo paņēmienu pēc dizaina.
Ja nevēlaties, lai tiktu veikta netieša saīsināšana, jums ir jāveic tieša apraide:
- netiešā liešana:
pludiņš fVal = iVal / 100,0; - skaidra liešana:
pludiņš fVal = (peldēt) iVal / 100