<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://www.pipedija.com/index.php?action=history&amp;feed=atom&amp;title=Duomen%C5%B3_tipai</id>
	<title>Duomenų tipai - Versijų istorija</title>
	<link rel="self" type="application/atom+xml" href="https://www.pipedija.com/index.php?action=history&amp;feed=atom&amp;title=Duomen%C5%B3_tipai"/>
	<link rel="alternate" type="text/html" href="https://www.pipedija.com/index.php?title=Duomen%C5%B3_tipai&amp;action=history"/>
	<updated>2026-07-08T20:47:08Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://www.pipedija.com/index.php?title=Duomen%C5%B3_tipai&amp;diff=86777&amp;oldid=prev</id>
		<title>John Smith: /* Programavimo kalbų nustatomi duomenų tipai */</title>
		<link rel="alternate" type="text/html" href="https://www.pipedija.com/index.php?title=Duomen%C5%B3_tipai&amp;diff=86777&amp;oldid=prev"/>
		<updated>2025-05-21T21:28:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Programavimo kalbų nustatomi duomenų tipai&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;lt&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ankstesnė versija&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;00:28, 22 gegužės 2025 versija&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l37&quot;&gt;37 eilutė:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;37 eilutė:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Float - realusis skaičius, t.y., toksai, kur su slankiu kableliu&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Float - realusis skaičius, t.y., toksai, kur su slankiu kableliu&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Šie duomenų tipų pavadinimai gali kiek skirtis skirtingose [[programavimo kalbos|programavimo kalbose]], tačiau vienaip ar kitaip jie yra visur arba beveik visur. Reta išimtis yra klasikinė Kernighan and Ritchie [[C kalba|C kalbos]] implementacija, kur nėra Bool tipo, nes vietoje jo naudojami bet kokie kiti duomenys (jei [[nulis]] - tai FALSE, o jei ne nulis - tai TRUE). Vėlyvais laikais Bool tipą į C kalbą įvedė kažkoksai [[standartizacijos komitetas]], kuriame sėdintys pusgalviai net &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nesuprto&lt;/del&gt;, kaip ta C kalba veikia. Kita su C kalba susijusi išimtis - ten gali nebūti Float tipo, nes jis gali būti tik priklausomai nuo to, kokiai architektūrai skirtas C kalbos kompiliatorius ir visokios [[programinės bibliotekos]]. Tačiau C kalba visgi yra gana savotiška, tai ja čia geriau nesiremkim, nes kitose kalbose paprastai viskas normaliau.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Šie duomenų tipų pavadinimai gali kiek skirtis skirtingose [[programavimo kalbos|programavimo kalbose]], tačiau vienaip ar kitaip jie yra visur arba beveik visur. Reta išimtis yra klasikinė Kernighan and Ritchie [[C kalba|C kalbos]] implementacija, kur nėra Bool tipo, nes vietoje jo naudojami bet kokie kiti duomenys (jei [[nulis]] - tai FALSE, o jei ne nulis - tai TRUE). Vėlyvais laikais Bool tipą į C kalbą įvedė kažkoksai [[standartizacijos komitetas]], kuriame sėdintys &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;pusgalviai&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;net &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nesuprato&lt;/ins&gt;, kaip ta C kalba veikia. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Čia šiaip vertas pamąstymui: programavimo kalbą standartizuojantys [[begalviai]] net nesuvokia, kad Boolean tipas ten jau yra.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Kita su C kalba susijusi išimtis - ten gali nebūti Float tipo, nes jis gali būti tik priklausomai nuo to, kokiai architektūrai skirtas C kalbos kompiliatorius ir visokios [[programinės bibliotekos]]. Tačiau C kalba visgi yra gana savotiška, tai ja čia geriau nesiremkim, nes kitose kalbose paprastai viskas normaliau.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Priklausomai nuo [[programavimo kalba|programavimo kalbos]], dauguma šių tipų gali turėti visokių variantų, pvz., signed integer, unisgned integer, short integer, long integer ar dar kokių tai. Bet tai jau ne tokie svarbūs dalykai, kurie su laiku ateina.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Priklausomai nuo [[programavimo kalba|programavimo kalbos]], dauguma šių tipų gali turėti visokių variantų, pvz., signed integer, unisgned integer, short integer, long integer ar dar kokių tai. Bet tai jau ne tokie svarbūs dalykai, kurie su laiku ateina.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>John Smith</name></author>
	</entry>
	<entry>
		<id>https://www.pipedija.com/index.php?title=Duomen%C5%B3_tipai&amp;diff=83885&amp;oldid=prev</id>
		<title>ESM: /* Sudėtingi duomenų tipai */</title>
		<link rel="alternate" type="text/html" href="https://www.pipedija.com/index.php?title=Duomen%C5%B3_tipai&amp;diff=83885&amp;oldid=prev"/>
		<updated>2025-02-17T12:24:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Sudėtingi duomenų tipai&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;lt&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ankstesnė versija&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;15:24, 17 vasario 2025 versija&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l47&quot;&gt;47 eilutė:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;47 eilutė:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sudėtingi duomenų tipai yra apibrėžiami per tai, kad jie ne tokie jau paprasti, kaip tiesiog kažkokie tai bitai, baitai ar žodžiai.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sudėtingi duomenų tipai yra apibrėžiami per tai, kad jie ne tokie jau paprasti, kaip tiesiog kažkokie tai bitai, baitai ar žodžiai.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Masyvas arba Array - tai tam tikro ilgio seka iš paprasto duomenų tipo duomenų, pvz., iš Char ar Integer, kur sekos elementai adresuojami pagal indeksą, t.y., pagal tokį numerėlį. Kol neišmoksite naudotis masyvu, tol visi patyrę programeriai jus vadins [[lameris|lameriu]] ir laikys jus [[silpnaprotystė|protiškai neįgaliu]]. Kai išmoksite - tik tada jau po truputį su jumis ims kalbėtis kaip su žmogumi.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Masyvas arba Array - tai tam tikro ilgio seka iš paprasto duomenų tipo duomenų, pvz., iš Char ar Integer, kur sekos elementai adresuojami pagal indeksą, t.y., pagal tokį numerėlį. Kol neišmoksite naudotis masyvu, tol visi patyrę programeriai jus vadins [[lameris|lameriu]] ir laikys jus [[silpnaprotystė|protiškai neįgaliu]]. Kai išmoksite - tik tada jau po truputį su jumis ims kalbėtis kaip su žmogumi.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Stekas arba Stack - toksai pagerintas masyvas, į kurį galima dėti (PUSH) arba iš jo traukti (POP) duomenis pagal principą [[LIFO]], o jo galo rodyklė arba indeksas pagal tai automatiškai apdeitinasi&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Eilutė arba String - tai kaip ir tas pats masyvas, bet su tam tikrais pagerinimais, dėl kurių galima naudoti kintamo ilgio teksto eilutes ir tos eilutės pagal poreikį didėja ar mažėja. Dažniausios realizacijos - pagal null-terminator (gale esantis baitas su reikšme 0) arba su indeksu pirmame baite/žodyje (kaip [[Pascal]]).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Eilutė arba String - tai kaip ir tas pats masyvas, bet su tam tikrais pagerinimais, dėl kurių galima naudoti kintamo ilgio teksto eilutes ir tos eilutės pagal poreikį didėja ar mažėja. Dažniausios realizacijos - pagal null-terminator (gale esantis baitas su reikšme 0) arba su indeksu pirmame baite/žodyje (kaip [[Pascal]]).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Asociatyvinis masyvas - tai kaip ir tas pats masyvas, bet adresavimas yra ne pagal indekso numerėlį, o pagal kokį nors tekstą ar žodį, kuris parašytas. Kažkada išpopuliarinti [[Perl]] kalboje, tokie masyvai kartais labai patogūs vartoti, kai reikia turėti, pvz., skirtingų kalbų vertimus tiems pat tekstams.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Asociatyvinis masyvas - tai kaip ir tas pats masyvas, bet adresavimas yra ne pagal indekso numerėlį, o pagal kokį nors tekstą ar žodį, kuris parašytas. Kažkada išpopuliarinti [[Perl]] kalboje, tokie masyvai kartais labai patogūs vartoti, kai reikia turėti, pvz., skirtingų kalbų vertimus tiems pat tekstams.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ESM</name></author>
	</entry>
	<entry>
		<id>https://www.pipedija.com/index.php?title=Duomen%C5%B3_tipai&amp;diff=83876&amp;oldid=prev</id>
		<title>ESM: Naujas puslapis: '''Duomenų tipai''' - taigi esminis dalykas, kurio mokosi visi programuotojai, o pakolei neišmoksta - tai būna vadinami lameriais, o kartais ir blogesniais žodžiais. Duomenų tipas - tai kaip ir toksai apibrėžimas, kuris reiškia, duomenų tipą - žodžiu, sąvoka pati iš savęs, todėl gana sunkiai paaiškinama paprastiems vartotojams.  Geriausiai duomenų tipus supranta tie, kas normaliai moka programuoti asembleriu. Gi tie, kas pr...</title>
		<link rel="alternate" type="text/html" href="https://www.pipedija.com/index.php?title=Duomen%C5%B3_tipai&amp;diff=83876&amp;oldid=prev"/>
		<updated>2025-02-17T11:57:54Z</updated>

		<summary type="html">&lt;p&gt;Naujas puslapis: &amp;#039;&amp;#039;&amp;#039;Duomenų tipai&amp;#039;&amp;#039;&amp;#039; - taigi esminis dalykas, kurio mokosi visi programuotojai, o pakolei neišmoksta - tai būna vadinami &lt;a href=&quot;/index.php/Lameriai&quot; title=&quot;Lameriai&quot;&gt;lameriais&lt;/a&gt;, o kartais ir blogesniais žodžiais. Duomenų tipas - tai kaip ir toksai apibrėžimas, kuris reiškia, duomenų tipą - žodžiu, &lt;a href=&quot;/index.php/S%C4%85voka&quot; title=&quot;Sąvoka&quot;&gt;sąvoka&lt;/a&gt; pati iš savęs, todėl gana sunkiai paaiškinama paprastiems vartotojams.  Geriausiai duomenų tipus supranta tie, kas normaliai moka programuoti &lt;a href=&quot;/index.php/Asembleris&quot; title=&quot;Asembleris&quot;&gt;asembleriu&lt;/a&gt;. Gi tie, kas pr...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Duomenų tipai''' - taigi esminis dalykas, kurio mokosi visi programuotojai, o pakolei neišmoksta - tai būna vadinami [[lameriai|lameriais]], o kartais ir blogesniais žodžiais. Duomenų tipas - tai kaip ir toksai apibrėžimas, kuris reiškia, duomenų tipą - žodžiu, [[sąvoka]] pati iš savęs, todėl gana sunkiai paaiškinama paprastiems vartotojams.&lt;br /&gt;
&lt;br /&gt;
Geriausiai duomenų tipus supranta tie, kas normaliai moka programuoti [[asembleris|asembleriu]]. Gi tie, kas programuoja kokiu nors [[PHP]], ar [[JavaScript]] - paprastai duomenų tipuose gaudosi gan prastai. Gal dėl to jiems [[programavimo kalbos|programavimo kalbose]] prikuriama visokių type casting [[fyčeriai|fyčerių]], dėl kurių jie paskui dar mažiau susigaudo tame, kokie tenai tie tipai yra.&lt;br /&gt;
&lt;br /&gt;
== Procesorių architektūros nustatomi duomenų tipai ==&lt;br /&gt;
Akivaizdu, kad patį pagrindą duomenų tipams nustato ta [[procesorių architektūra]], kuri yra naudojama, nes jei procesorius nenaudojamas - tai ir apie duomenis nėra ką šnekėt, o jei apie duomenis nėra ką šnekėt - tai ir išvis nėra apie ką šnekėt. Tai todėl pradžioje reikia bent jau išmokti skirti, kas tas yra [[bitas]] ir kas tas yra [[baitas]].&lt;br /&gt;
&lt;br /&gt;
Bendrai tai esminiai duomenų tipai yra tokie:&lt;br /&gt;
* [[Bitas]] - tai minimalus informacijos kiekis&lt;br /&gt;
* [[Baitas]] - tai [[8]] bitai&lt;br /&gt;
* Žodis arba Word, kas reiškia vieno [[registras|registro]] duomenų apimtis, kas yra mašininis žodis, nuo ko ir yra pavadinimas &amp;quot;Žodis&amp;quot;&lt;br /&gt;
* Dvigubas Žodis arba Double Word arba DWord, kas reiškia dviejų registrų apimtis&lt;br /&gt;
&lt;br /&gt;
Kebliausia čia yra su tuo Žodžiu arba Word, nes viename kompiuteryje jis gali būti tie patys [[8 bitai]], o kitame - gali būti ir [[64 bitai]] - čia priklausomai nuo [[procesorių architektūra|procesorių architektūros]]. Bendrai tai tiesiog tas kiekis duomenų, kuriuo [[procesorius]] operuoja normaliai veikdamas. Tuo tarpu Dvigubas Žodis - tai jau toksai konversinis vienetas, naudojamas tada, kai reikia suemuliuoti dvigubai ilgesnį žodį, nei gaunasi, pvz., ant [[16 bitų]] mašinos skaičiuoti [[32 bitai|32 bitų]] skaičius.&lt;br /&gt;
&lt;br /&gt;
Tai vat štai šitie duomenų tipai pačiuose kompiuteriuose paskui naudojami dvejopai - tiesiog kaip duomenys ir kaip [[rodyklės]] arba [[pointeriai]]. Tai jei čia yra tiesiog duomenys - tai viskas gerai, o problema supratimui pasidaro, kai tenai būna pointeriai - nes pointeris yra ne duomenys, o tiktai tam tikra nuoroda, rodanti [[operacinė atmintis|operacinės atminties]] adresą, kuriame guli duomenys.&lt;br /&gt;
&lt;br /&gt;
Kadangi pointeriuose sunku susigaudyti, tai jų visi nekenčia. O kadangi visi jų nekenčia, tai kai kuriose [[programavimo kalbos|programavimo kalbose]] pointeriai išvis yra pašalinti ir neegzistuoja. Bet kadangi be jų sunku apsieiti, tai tada atsiranda visokie pseudopointeriai, kaip kad referencai.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programavimo kalbų nustatomi duomenų tipai ==&lt;br /&gt;
Dabar, jei bent minimaliai įsisavinote tuos aukščiau parašytus dalykus (o jūs greičiausiai neįsisavinote, nes dauguma yra per daug durni, kad suprastų apie tuos pointerius), tai galim visvien pereiti prie paprastų duomenų tipų.&lt;br /&gt;
&lt;br /&gt;
Kažkada priešistorinėje senovėje, apie kokius [[1960]] metus, visi buvo pakvaišę apie duomenų tipus ir įsivaizdavo, kad kuo daugiau tų duomenų tipų prigalvosi, tuo bus geriau visokiems atvejams. Paskui paaiškėjo, kad visai ne, nes dauguma atvejų programuotojams visvien tenka susigalvoti savas gudrybes darbui su duomenimis, kurių neprigalvoja programavimo kalbų kūrėjai. O kartu, kaip paaiškėjo, dalis duomenų tipų yra praktiškai niekam niekada nenaudojami, todėl absurdiški ir nereikalingi, o to, ko reikia - būna, kad ir nebūna. Pvz., kai [[IBM]] kūrė tokią supermonstrišką kalbą kaip [[PL/I]], tai prigalvojo tiek duomenų tipų, kad paskui ilgai negalėjo sukurti tai kalbai [[kompiliatorius|kompiliatoriaus]], bet kartu nepagalvojo apie tokį elementarų tipą, kaip ''string''.&lt;br /&gt;
&lt;br /&gt;
Tai vėliau atsirado tokios programavimo kalbos, kaip [[C kalba]], kur duomenų tipai buvo realiai nuprastinti ir pakeisti greičiau papildomais pavadinimais tiems pat baitams, žodžiams ir visokiems pointeriams. Ir tai jau pasiteisino.&lt;br /&gt;
&lt;br /&gt;
Duomenų tipai yra dviejų rūšių - vieni yra paprastieji, tai reiškia, kad tie patys baitai, žodžiai ir panašiai, bet besiskiriantys naudojimu, pvz., aritmetinėmis operacijomis. Kiti yra sudėtiniai - tai reiškia, kad ten jau yra kai kurios gudrybės, kurių dėka tie duomenų tipai veikia ne taip jau paprastai.&lt;br /&gt;
&lt;br /&gt;
Vieną iš išsamesnių duomenų tipų aprašymų turi [[SQL]] kalba, nes šioji ir buvo skirta duomenims saugoti bei apdirbtinėti. Kitą vertus, kitos kalbos irgi turi savų duomenų tipų, kurie kartais tiesiog skirtingose kalbose skirtingai vadinasi.&lt;br /&gt;
&lt;br /&gt;
=== Paprastieji duomenų tipai ===&lt;br /&gt;
Čia yra kai kurie paprasčiausi duomenų tipai:&lt;br /&gt;
* Bool - tiesiog bitas arba baitas - TRUE (tiesa arba (&amp;gt;0)) arba FALSE (melas arba (0))&lt;br /&gt;
* Char - tiesiog [[raidės]], realiai tai tiesiog tie patys baitai&lt;br /&gt;
* Integer arba Int - koks nors [[skaičius]], vieno žodžio ilgio, dažniausiai kokie nors 16 ar 32 bitai&lt;br /&gt;
* Float - realusis skaičius, t.y., toksai, kur su slankiu kableliu&lt;br /&gt;
&lt;br /&gt;
Šie duomenų tipų pavadinimai gali kiek skirtis skirtingose [[programavimo kalbos|programavimo kalbose]], tačiau vienaip ar kitaip jie yra visur arba beveik visur. Reta išimtis yra klasikinė Kernighan and Ritchie [[C kalba|C kalbos]] implementacija, kur nėra Bool tipo, nes vietoje jo naudojami bet kokie kiti duomenys (jei [[nulis]] - tai FALSE, o jei ne nulis - tai TRUE). Vėlyvais laikais Bool tipą į C kalbą įvedė kažkoksai [[standartizacijos komitetas]], kuriame sėdintys pusgalviai net nesuprto, kaip ta C kalba veikia. Kita su C kalba susijusi išimtis - ten gali nebūti Float tipo, nes jis gali būti tik priklausomai nuo to, kokiai architektūrai skirtas C kalbos kompiliatorius ir visokios [[programinės bibliotekos]]. Tačiau C kalba visgi yra gana savotiška, tai ja čia geriau nesiremkim, nes kitose kalbose paprastai viskas normaliau.&lt;br /&gt;
&lt;br /&gt;
Priklausomai nuo [[programavimo kalba|programavimo kalbos]], dauguma šių tipų gali turėti visokių variantų, pvz., signed integer, unisgned integer, short integer, long integer ar dar kokių tai. Bet tai jau ne tokie svarbūs dalykai, kurie su laiku ateina.&lt;br /&gt;
&lt;br /&gt;
Jei šių pagrindinių tipų nežinote - tai reiškia, kad dar netgi nepradėjote mokytis programuoti, todėl jūsų visos šnekos apie programavimą yra tuščios. Bet jei jau suprantate, kuo tie tipai skiriasi - nu tai jau pirmas žingsnelis žengtas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sudėtingi duomenų tipai ===&lt;br /&gt;
Sudėtingi duomenų tipai yra apibrėžiami per tai, kad jie ne tokie jau paprasti, kaip tiesiog kažkokie tai bitai, baitai ar žodžiai.&lt;br /&gt;
* Masyvas arba Array - tai tam tikro ilgio seka iš paprasto duomenų tipo duomenų, pvz., iš Char ar Integer, kur sekos elementai adresuojami pagal indeksą, t.y., pagal tokį numerėlį. Kol neišmoksite naudotis masyvu, tol visi patyrę programeriai jus vadins [[lameris|lameriu]] ir laikys jus [[silpnaprotystė|protiškai neįgaliu]]. Kai išmoksite - tik tada jau po truputį su jumis ims kalbėtis kaip su žmogumi.&lt;br /&gt;
* Eilutė arba String - tai kaip ir tas pats masyvas, bet su tam tikrais pagerinimais, dėl kurių galima naudoti kintamo ilgio teksto eilutes ir tos eilutės pagal poreikį didėja ar mažėja. Dažniausios realizacijos - pagal null-terminator (gale esantis baitas su reikšme 0) arba su indeksu pirmame baite/žodyje (kaip [[Pascal]]).&lt;br /&gt;
* Asociatyvinis masyvas - tai kaip ir tas pats masyvas, bet adresavimas yra ne pagal indekso numerėlį, o pagal kokį nors tekstą ar žodį, kuris parašytas. Kažkada išpopuliarinti [[Perl]] kalboje, tokie masyvai kartais labai patogūs vartoti, kai reikia turėti, pvz., skirtingų kalbų vertimus tiems pat tekstams.&lt;br /&gt;
* Daugiamatis (dvimatis, trimatis, keturmatis, etc.) masyvas - tai kaip ir tas pats masyvas, bet jo elementai yra ne šiaip paprasti duomenys, o kiti masyvai, kurie, savo ruožtu, gali būti sudaryti iš kitų masyvų ir t.t.. Čia labai geras konceptas, kai reikia susigaudyti N-matėse erdvėse, kurių išmatavimų skaičius gali būti daug didesnis, nei mūsų [[Visata|Visatoje]].&lt;br /&gt;
* Struktūra arba Structure - tai kaip ir masyvas, bet su skirtingais, įvardinamais kintamaisiais. Leidžia laikyti visokius kompleksinius duomenis viename kintamąjame, t.y., gauti svarbiausią [[objektinis programavimas|objektinio programavimo]] gerą [[fyčeris|fyčerį]], nenaudojant jokio objektinio programavimo.&lt;br /&gt;
* Enumerated arba Enum - tai tiesiog pavadinimų rinkinys, kur tie pavadinimai tiesiog iš savęs, kad būtų galima manipuliuoti tais pavadinimais, o ne kokiais tai skaičiais.&lt;br /&gt;
* Diapazonas - retesnis duomenų tipas (nors yra [[Pascal]] kalboje), kuris reiškia skaičių diapazoną. Geras tuo, kad leidžia automatiškai patikrinti, ar kažkurie duomenys teisingi.&lt;br /&gt;
* Tekstas arba Varchar - praktikoje SQL naudojamas duomenų tipas, kuris skirtas jau normalaus dydžio tekstams (pvz., 64 [[kilobaitai|kilobaitams]])&lt;br /&gt;
* BLOB (Binary Large OBject) - praktikoje SQL naudojamas duomenų tipas, tai tiesiog kokie nors dvejetainiai duomenys, pvz., koks nors [[paveiksliukas]]&lt;br /&gt;
* Date, Datetime, Time - paprastai koks nors didelis skaičius, kuris reprezentuoja kokias nors sekundes ar mikrosekundes, praėjusias nuo [[UNIX]] sistemos pradžios, t.y., nuo [[1970]] metų [[sausio 1]] dienos 00 valandų, 00 minučių, 00 sekundžių.&lt;br /&gt;
* Pinigai arba Money - tipas su tam tikra buhalterine gudrybe, kuris paslapčia po kablelio saugo daug daugiau visokių centų dalių, nei jūs tikitės, todėl neleidžia padaryti klaidų, už kurias jus nutarkuotų [[mokesčiai]] ar kokie nors sukti darbuotojai, kurie gali sugalvoti tas nuapvalintas centų dalis vogti.&lt;br /&gt;
&lt;br /&gt;
Dar atskirai čia reikia paminėti [[UTF]] kodavimą, dėl kurio tie patys [[baitai]] ir visokie stringai pavirsta į komplikuotus, sudarytus iš dviejų ar keturių baitų, nes jau nebe tie laikai, kai [[ASCII]] naudojamas, todėl viskas dabar pasidarė sudėtingai. Tai daugelyje prorgamavimo kalbų tenka nurodyti - ar duomenys yra šiaip duomenys, ar kokie nors su papildoma raide, reiškiančia tą UTF, pvz., kaip ''nstring'', ''wstring'' ar dar kaip nors.&lt;br /&gt;
&lt;br /&gt;
Tai štai, jei kažkas jums pasiliko galvoje, tai dabar jau galit jaustis, kad truputį daugiau susigaudot apie programavimą, negu koks nors eilinis [[lameris]]. Bet visvien, supratimas ateina tik su laiku ir su [[pointeriai|pointeriais]], tai kai tuos išmoksit suprasti ir naudoti, tai tada jau ir būsite išmokę.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Programavimas]]&lt;br /&gt;
[[Category:IT]]&lt;/div&gt;</summary>
		<author><name>ESM</name></author>
	</entry>
</feed>