Sajnos láttam, hogy nem sokan akarják megtanulni programozni ezt a 2018-as évet, de még akkor is, ha csak elolvastam volna előző cikk egy ember, és egy kis idő elteltével képes elköteleződést küldeni egy ingyenes szoftverprojektre, elégedett lennék a munkámmal 🙂
Azok számára, akik szeretik a biztonságot, ígérem, hogy a következő bejegyzés a biztonságról szól post, így mindenki örül, ha valaki mást akar tanulni (például git, szerver adminisztráció vagy mit tudok: p), vagy megjegyzést fűzhet valamilyen más témához. erre nem lehet egyszerűen válaszolni a megjegyzés rovatban, tudassa velem, és meglátjuk, hogyan tudjuk működtetni 😉
Nos, ha most a dolgunkra térünk, akkor korábban a gépelésről beszéltünk, és hogy ennek köze volt ahhoz, ahogyan a változókat elmentjük egy programba, most áttekintjük egy kicsit, mi történik belül, és remélhetőleg elég tiszta.
Darabok
Azt hiszem, ez egy olyan téma, amelyhez mindig hozzányúlok, amikor a programozásról írok, ez minden bizonnyal elbűvöl, és sok minden megértésében segített, most megpróbálok egy kicsit elmagyarázni, hogy vannak, hogyan olvassák őket és mire valók 🙂
Gondolj egy villanykapcsolóra, amikor az áramkör zárva van, akkor a 0
a képernyőn, amikor megváltoztatjuk a kapcsoló helyzetét, mert a 1
🙂 egyszerű, nem?
Most a 0
és egy 1
Sok mindent jelenthetnek, minden a kreativitástól függ, amellyel felveszed. Tegyük fel, hogy szeretném tudni, hogy valaki Északra vagy Délre megy-e, 1
jelentheti észak és 0
, mondjuk, mondjuk azt akarom tudni, hogy valaki férfi vagy nő, 1
lehet férfi és 0
, nő 🙂. Most szeretném tudni, hogy ez a személy fiatal vagy idős (> 22), 0
jelenthet fiatal és 1
, magasabb. Képzeljük tovább ... Van háziállatod? 1
Azt mondanám, hogy igen 0
Nemet mondanék Most azt akarom, hogy olvassa el velem a következő sort:
1001
Ez a rövid utat mondani ...
Una jóven mujer de no más de 22 años se dirige al norte acompañada de su mascota.
ami nagyon különbözik a következőktől:
0110
o Un hombre con más de 22 años de edad se dirige solo hacia el sur.
Bytes
Most menjünk egy lépéssel tovább, tanuljuk meg a bájtok olvasását. A bájt a 8 bites szekvencia, amelyeket jobbról balra és mindegyik felolvas 1
erejét képviseli 2
emelt a n
ahol n
a bit helyzete. Mivel kínaiul hangzik, tegyünk egy kis példát 🙂
01001011
Megvan ez a bájt, most megyünk jobbról balra (<-). Fentről lefelé fogom őket tenni, hogy meg tudjam írni a jelentését:
1
: a bit, amikor a helyzetben van 0
azt jelzi, hogy a következő 2 értéket nulla vagy 2^0
. Ez a jól tudjuk, hogy egyenértékű 1
.
1
: a második bit, most a helyzet 1
: 2^1
ami ugyanaz, mint mondani 2
0
: harmadik bit ... ennek kellene lennie 2^2
, de mivel nincs bekapcsolva, hagyni fogjuk 0
1
: negyedik bit, 2^3
u 8
????
0
: ugyanaz, mint a 0
0
: Egyéb 0
1
: most bent vagyunk 2^6
o 64
és végül 0
, már tudjuk, mit jelent 🙂 most hozzáadjuk az eredményeket, és összehasonlítjuk az alábbi táblázattal 🙂 75
tehát keressük meg az oszlopban Decimális és meglátjuk, mi jelenik meg Faszén
Van egy K
!! Gratulálunk, már tudod, hogyan kell binárisan olvasni 🙂 De a legnyálkásabbak talán észrevették, hogy tizedes számot is kaptunk, és ennek van határa (amikor az összes érték 1
) Ez a határ a számban található 255
.
szó
Most már többen megmondják, de mi van, ha nagyobb számra van szükségem, mint 255
? vagy hol találok más karaktereket, például a japánokat? Nos, a válasz egyszerű, állítsuk össze 2 bytes
. Most, hogy kettőnk van, lehetséges a kombinációk lehetséges száma 2^16
o 65536
lehetséges eredmények, mint pl 0
ezek egyike, a lehető legnagyobb 65535
. Csenget valakinek ez a szám? Emlékszik a linuxos rendszerek maximális számú portjára? Otthoni feladatot hagyok nekik 😉
Dupla szó és négy szó
Matematikai szempontból vannak speciális formátumok is, kettős szó tartalmazzák, mint azt sokan elképzelhették már 2 word
o 4 bytes
(o 32 bits
) információ, ugyanaz, mint a következő:
11111111111111111111111111111111
vagy 0
a 4 294 967 295
Ezen a ponton sokakban kíváncsi lesz, hogy mi történik a negatív számokkal, vagyis valahol rájuk kell gondolni, igaz? Negatív szám tárolásához a processzor fejlesztői úgy döntöttek, hogy előjelként a bal oldalon lévő első bitet foglalják el. Ez azt jelenti, hogy ha az első bit 0
pozitív számról beszélünk, de ha igen 1
negatívunk van. Most nézze meg, miért olyan különlegesek a bitek, bármi lehet, amire vágyik 😀
De ez nyilvánvalóan egy ponttal kevesebbet hagy számunkra a szorzás elvégzésére! Tehát a mi0
a 4 294 967 295
válik:
-2,147,483,648
a +2,147,483,647
Most már sokunknak van 64 bits
, és ez az a értéke négyszavas, értékeink között lehet 0
a 18 446 744 073 709 551 615
. Ez nagy szám 🙂
Miért 8 bit?
Erre nem egyszer lesz kíváncsi, és a válasz a hardverben rejlik. A processzoroknak kezdettől fogva adatokra volt szükségük a műveletek végrehajtásához. Az adatokat a számítógép memóriájában tároljuk, és minden alkalommal, amikor a processzor igényli, az adatbuszokat használja a megszerzéséhez. Az ősi időkben ezek a buszok ciklusonként maximum 8 bitet tudtak kommunikálni, ez azt jelenti, hogy az adatok mozgatásának maximális és leghatékonyabb módja 8 bit csoportosítása és a processzornak való elküldés volt.
Az idő múlásával a mai napig a processzorok kifejlesztették a képességüket, hogy 16, 32 és… 64 bitet mozgassanak.
Mi köze van a gépeléshez?
Most vagyunk azon a részen, ahol mindennek értelme van 🙂 A gépelés egy olyan tulajdonság, amelyet a programozási nyelvek használnak ezeknek a memóriatereknek a megnevezésére. Minden változónak megvan a megfelelője az ilyen típusú adatok egyikében, függetlenül attól, hogy hívják őket. Ezek az úgynevezett primitív adattípusokMinden erősen tipizált nyelvnek megvan a maga elképzelése ezekről az értékekről és az általuk képviselt mennyiségről. Például a C-ben van a könyvtár limits.h
amely megmutatja a primitív értékek maximális és minimális mennyiségét.
Nézzük meg, mi történik, ha megpróbáljuk megtörni az egyik értéket:
A jobb oldalon vannak a fájl értékei limits.h
és balra vettük az egyik ilyen értéket (unsigned short int
) és a megfelelőnél magasabb számot rendeltünk hozzá. Ennek eredményeként a fordító figyelmeztet bennünket, hogy a memóriát helytelenül használjuk, mert a bináris formája 66666
nem fér el a bináris formában 65535
. Ez egy leckéhez vezet bennünket teljesítmény amikor programozunk, ha az értéke nem fog sokat növekedni az idő múlásával, vagy ha nem igényel akkora értékeket, mint egy kétszeresére o négyszavasA megfelelő típus használata csökkenti a CPU által igényelt memória mennyiségét, ami nagyobb sebességet jelent az adatok megszerzésében, ha azokat jól kiszámítják.
A tolmács oldalon ez könnyebb a implicit konverziók. Cdefiniálunk egy változót olyan nyelveken, mint a javascript vagy a Python, az értelmező feladata annak megértése, hogy milyen típusú, és elegendő memóriaterületet allokál a műveletek végrehajtásához. Lássunk egy egyszerű példát 🙂
Mint láthatja, nem kell elmagyaráznunk a python tolmácsnak a változónk típusát, mert ő felel a típus hozzárendeléséért és a memóriában való tárolásáért 🙂
Ismerje a változókat
Ez a használni kívánt nyelvtől és a megvalósítás típusától függ, de a programozás első lépése a használható változók megtanulása felhasználó vagy a rendszer által). Ez az első lépés a programozási létrán, és remélhetőleg a cikk elolvasása után jobban meg fogja ismerni a számítógép működését és az információk tárolását. Velem lesz a következő cikkig, ne felejtsd el elhagyni a megjegyzéseidet, hátha meg kell erősítened vagy kommentelned kell valamilyen konkrét kérdést. Egészségére
Jól megírt, tömör és világos, ugyanakkor érdekes minden közönség számára. Szép munka.
Köszönöm szépen, üdvözletem
Remek magyarázat. Gép vagy.
Köszönöm
Nagyon jól megmagyarázott köszönet
Köszönöm, hogy teljes egészében elolvastad 🙂
Kiváló, köszönöm a közreműködést. És kihasználva a bináris kérdést, fennáll annak a lehetősége, hogy adjon nekünk egy osztályt IP-ről, alhálózatról stb. Megértem, hogy ez nem programozási kérdés, de ennek a kérdésnek a jó magyarázata mindig is függőben volt.
Ismét köszönöm magyarázatát
Helló, Diego, meg lehet tenni 🙂 igazat megvallva én sem foglalkoztam sokat a témával, de nincs jobb módszer a nyomozásra, mint ha valami cikket keresnénk róla. 🙂 A listára hagyjuk. mert a következő bejegyzésnek már van tárgya, és a keményedéssel fog foglalkozni. Üdvözlet 🙂
Kiváló tanár vagy, és nagylelkűen tanítod azt, amit tudsz. Gratulálok és köszönöm.
Köszönöm szépen Pedro 🙂 Még mindig keresem a tanítási helyeket, sajnos itt Peruban nehéz, amikor csak műszaki szakmai végzettséged van, ezért most azt vizsgálom, hogy itt folytathatom-e az egyetemi tanulmányaimat, vagy ahol tudok ill. akár mesterdiplomára is jelentkezz a külföldön, aki tudja, lehet, hogy hamarosan valami ilyesmit adnak 🙂 de mindenképpen a tanítás teszi a napomat 🙂 Üdvözlet
Nem olvastam a téma jobb magyarázatát, az első példa zseniális
bár még nem hallottam ezt a szót (mint például a 16 bites változók), kettős szót vagy négy szót
nem számít, hogy "már programozom", a bejegyzések érdekesek. Ha bármilyen probléma merül fel, a bejegyzésnek a C-t (határérték.h) kell használnia a változó méretek példaként. A C-nek van a legkevesebb specifikus specifikáció
Helló valami 🙂 nagyon köszönöm szépen, útközben előálltam a példával 😛, mert minden bizonnyal ismert adatok azok számára, akik olvastak egy kicsit az Assembly-ből, és ezt a processzor megérti 🙂 hahaha minden bizonnyal a C nem túl specifikus, de szerintem ez annak köszönhető, hogy a hordozhatóság és az általa támogatott különböző architektúrák annyira változatosak voltak, hogy a C-nek minden típusú processzort be kell illesztenie ahhoz, hogy valóban hordozhatóak legyenek 🙂
Üdvözlet és köszönet a megosztásért.
Unnn érdekes lenne, ha ez az oktatósorozat rozsdán alapulna, azt hiszem, ez az egyik legérdekesebb nyelv, amelyet manapság fejlesztenek.
Mögötte vagyok, de felismerem, hogy ez egy nehéz nyelv, de nagy jövővel rendelkezik ...
Várom a következő cikkeket, nagyon érdekesek.
Üdvözlet.
Szia Sergio, minden bizonnyal érdekes lenne, hallottam, hogy a GNOME a Rust bevezetését tervezi a programcsomagjában, még nem láttam teljes terjedelmét, de áttérés következik.
Ami a nyelveket illeti, én személy szerint még mindig a C-t tanulom, szeretném, hogy a következő néhány hónapban elkezdhessem a fejlesztést a kernelben, és inkább megtanulok néhány nyelvet alaposan megtanulni, mielőtt újakat kezdek áttekinteni, de mindenképpen kereshetek valami érdekeset, és tehetek néhány példát a Rust-ban, mivel a dokumentációja önmagában elég jól néz ki.
Üdvözlet és köszönet a megosztásért 🙂
Nagyon jó magyarázatok, mind ebben a cikkben, mind az előzőben. Remélem, folytatja ezt a témát, amelyet nagyon érdekesnek tartok.
Helló, David, remélem, hogy folytathatom az írást, és különösebben motiválom az embereket az ingyenes szoftverrel való részvételre. Olyan sok projekt és igény van most, hogy nagyszerű lenne néhány extra kezet fejleszteni 🙂
Üdvözlet
Tudna írni egy bejegyzést a Turing-gépről?
Hello Mart! Azt hiszem, néhány megjegyzésben már korábban is érintettük, igaz? Biztos vagyok benne, hogy tudok valami érdekeset összeállítani a témában 🙂 nézzük meg, mi jöhet ki. Üdvözlet és köszönet az összes cikkem elolvasásáért, az első naptól a mai napig mindig nagyon érdekeltnek láttalak 🙂
Hú, nagyon köszönöm, milyen jó magyarázat.
Üdvözlet
Köszönöm szépen Allan üdvözletét
Elolvastam az előző bejegyzésedet! Nagyon köszönöm a magyarázatot, bár úgy gondolom, hogy soha nem fogom befejezni a szó megértését.
Szia Ramon, nagyon köszönöm, hogy elolvastad mindkettőt. Ha bármilyen hasznát veszi, akkor a «szó» egy bájt evolúciója, olyan, mint a processzorok, mielőtt még 8-bit, 16-os után volt stb ... ez azért van, mert minden egyes alkalommal több helyre van szükségünk a feldolgozáshoz és jobb sebesség vagy erő ... a „szó” azért született, mert a „bájt” területe elmaradt, és ugyanez a „kettős” és „négyes” szónál is 🙂 a természetes evolúció az, ami erőt ad hozzá és tér a fejlődés folytatásához 🙂
Üdvözlet
Ebben a 2018-ban megtanulok programozni igen vagy igen, köszönöm
Örülök 🙂 próbálj meg nagyon !! Üdvözlettel
Nagyon köszönöm, csak így tovább. Már tudom, hogyan kell programozni, de várom a tanításait, hogy az autodidakta programozásom tele van rossz gyakorlatokkal.
Köszönöm Guillermo 🙂 Nos, remélem, érdekes dolgokat talál a következő bejegyzésekben is 🙂 Üdvözlet
Az egyszerű magyarázat mindig a legjobb .. kiváló ..
Azt javaslom, hogy git ... a programozók számára alapvető, ha csapatként akarsz dolgozni, és rendbe teszed a munkád .. a verziók ..
Nagyon igaz, Edgar, megpróbálok tartalmat közzétenni róla, bár elég nehéz újat mondani, mert a git dokumentáció már bőséges, és több dolgot már lefordítottak több nyelvre. Meglátom, mit tehetek, üdvözleteket és köszöneteket a megosztásért
Helló, a 0 és 18 446 744 073 709 551 615 közötti szám megfelel-e a 64 bites tizedesértéknek, vagy más értékre utal? Nos, a 2 ^ 64 teljesítményének kiszámításakor az eredmény: 18 446 744 073 709 552 000.
Szia Tiririri, azt hiszem, kerekítési problémád van, megpróbálhatod használni a parancsot
bc
? egy olyan programozási nyelv, amelyet a lehető legpontosabbra terveztek, miután belépett, csak meg kell tennie2^64
, talán ez megoldja, mivel tudassa velem, hogy ment, üdvözlet. A valós érték 18 446 744 073 709 551 616, de kivonunk 1-et, mert a 0 lehetséges értéknek számít 🙂
Köszönöm, kiszámoltam, hogy egy teljesítményszámológéppel, amelyet a neten találtam (https://es.calcuworld.com/calculadoras-matematicas/potencias/) és ezt az eredményt adta nekem.
És igen, már kipróbáltam a bc parancsot, és hatékonyan megadja nekem azt az értéket, amelyet leírtál.
Helló még egyszer, a kép, ahol a limit.h könyvtárra hivatkozol, nagyon kicsi, és nem olvasható el (legalábbis nem tudtam elolvasni, mert úgy látom, hogy mindenki tette, úgy tűnik), és mivel nem értem Már nem folytatom az olvasást. Nem tudom, meg tudnád-e változtatni, remélem, nem zavartalak ezzel.
Kipróbálhatja a mobil verziót, ezek egy kicsit tisztábban néznek ki, ez egy wordpress téma: / másrészt az összes C fejléc megtalálható a / usr / include / könyvtárban, ebben az esetben választhatja, hogy közvetlenül elolvassa, ha könnyebb 🙂 Megpróbálok nagyobb képet feltölteni, hátha segít helps
Köszönöm, szerintem türelmesnek kellene lennem ebben, he he.
Köszönöm a cikket, mivel most egy kicsit jobban megértettem a nyelv változóit és reprezentációs tartományát, de most úgy gondolom, hogy el kell kezdenem a "stdint.h" könyvtár használatát, mivel azt javasolják, hogy használhassák a c programozásakor, mivel a megtanították a régi iskolának, mivel az emlékezet drága volt, és vigyázni kellett a használtakkal
Nincs oka a Katekyo-nak, minden bizonnyal jobb a szokásos könyvtár használata, de biztosíthatlak arról, hogy jobb tudni, mi különbözteti meg az uint_least8_t az uint_fast8_t-től, és ezt a primitív adattípusok ismeretében érjük el, ami a cél volt bejegyzés Nagyon köszönöm a megjegyzést és a cikk elolvasását, üdvözletet
: Vagy mesteri magyarázat! Ismertem a fogalmak egy részét, de rengeteg új ismeretet szerzek ebből a bejegyzésből
Nagyon köszönöm Victor 🙂 milyen jó, hogy a cikk segíthet, üdvözlet
Nagyon szerettem a Pythont, hogy megkönnyítse a programozást, láttam benne egy tanfolyamot http://zetcode.com/gui/pyqt4/ Imádtam a végső tetrist: http://zetcode.com/gui/pyqt4/thetetrisgame/
Ezt a tetrist egy nyár folyamán retusáltam, hogy apránként, de nagyon szórakoztatóan tegyem fel a pontokat, a többjátékosokat és a zenét.
Hello Guille, minden bizonnyal nagyon szórakoztató látni, hogy a szoftver, amin dolgozol, apránként növekszik 🙂 ez összehasonlíthatatlan élmény, és még inkább, ha valaki hasznosnak találja a fejlesztésedet, vagyis egy másik világból származik 😀 köszönöm szépen megosztásért 🙂
Amit csináltam, feltöltöttem (30 MB a zenéhez) http://guillermo.molleda.com/Tetris9.7z
Be kell állítania egy másik kezdeti sebességet minden játékos számára, vagy ha egy új játék után újraindítja a pontokat,…, és három játékos van, akikkel két lányom játszhat velem. Még függőséget is okoz.