Mjerisht kam parë që jo shumë duan të mësojnë të programojnë këtë 2018 ... por edhe sikur të kisha lexuar vetëm timen artikulli i mëparshëm një person dhe pas pak kohe është në gjendje të dërgojë një angazhim për një projekt të softuerit të lirë, unë do të isha i kënaqur me punën time
Për ata që e duan sigurinë, ju premtoj se sa më poshtë do të jetë një postim në lidhje me todos të sigurisë në mënyrë që të gjithë të jenë të lumtur, nëse dikush dëshiron të mësojë diçka tjetër (si git, administrimin e serverit, ose nuk e di: p), ose të komentojë për ndonjë temë tjetër që nuk mund të përgjigjet në një mënyrë të thjeshtë në kutinë e komenteve, më tregoni dhe shohim se si mund ta punojmë atë
Epo, tani nëse shkojmë tek gjëja jonë, më parë kemi biseduar për të shtypur, dhe kjo kishte të bënte me mënyrën në të cilën i ruajmë ndryshoret tona në një program, tani do të rishikojmë pak nga ato që ndodhin brenda dhe shpresojmë që ajo mund të jetë mjaft i qartë.
Bits
Mendoj se kjo është një temë që unë gjithmonë e prek kur shkruaj për programimin, sigurisht që është diçka që më magjeps dhe që më ka ndihmuar të kuptoj shumë gjëra, tani do të përpiqem të shpjegoj pak si janë, si lexohen dhe për çfarë shërbejnë
Mendoni për një ndërprerës të dritës, kur qarku është i mbyllur, ne kemi një 0
në ekran, kur ndryshojmë pozicionin e ndërprerësit, sepse a 1
🙂 e thjeshtë apo jo?
Tani një 0
dhe një 1
Ato mund të nënkuptojnë shumë gjëra, gjithçka varet nga krijimtaria me të cilën e merrni, supozoni se dua të di nëse dikush po shkon në Veri apo Jug, 1
mund të nënkuptojë veriun dhe 0
, sur 🙂 le të themi se dua të di nëse dikush është burrë apo grua, 1
mund të jetë një burrë dhe 0
, grua Tani dua të di nëse ky person është i ri apo i moshuar (> 22), 0
mund të nënkuptojë të rinj dhe 1
, më e lartë Le të vazhdojmë të imagjinojmë ... A keni ndonjë kafshë shtëpiake? 1
Unë do të thoja po, ndërsa 0
Unë do të thosha jo Tani dua që të lexoni me mua rreshtin vijues:
1001
Kjo është mënyra e shkurtër për të thënë ...
Una jóven mujer de no más de 22 años se dirige al norte acompañada de su mascota.
e cila është shumë e ndryshme nga:
0110
o Un hombre con más de 22 años de edad se dirige solo hacia el sur.
bytes
Tani le të shkojmë një hap më tej, le të mësojmë se si të lexojmë bajte. Një bajt është sekuenca e 8 bitëve, të cilat lexohen nga e djathta në të majtë dhe secila 1
paraqet një fuqi të 2
ngritur në n
ku n
është pozicioni i bitit. Ndërsa tingëllon si kineze, le të japim një shembull të vogël
01001011
Ne e kemi këtë bajt, tani do të shkojmë nga e djathta në të majtë (<-) Unë do t'i vendos nga lart poshtë për të qenë në gjendje të shkruaj kuptimin e tyre:
1
: bit kur është në pozitë 0
tregon se kemi 2 të mëposhtme ngritur në zero ose 2^0
. Kjo mirë që ne e dimë është ekuivalente me 1
.
1
: biti i dytë, tani pozicioni 1
: 2^1
që është njësoj si të thuash 2
0
: biti i tretë ... kjo duhet të jetë 2^2
, por meqenëse nuk është ndezur, ne do ta lëmë atë aktive 0
1
: biti i katërt, 2^3
u 8
🙂
0
: e njejte si 0
0
: tjetër 0
1
: tani jemi ne 2^6
o 64
y finalmente 0
, ne tashmë e dimë se çfarë do të thotë 🙂 tani ne do të shtojmë rezultatet tona dhe t'i krahasojmë ato me tabelën vijuese Ne kemi një 75
kështu që le ta kërkojmë atë në kolonë Decimal dhe ne do të shohim se çfarë shfaqet në shkrumb
Ne kemi një të tillë K
!! Urime, ju tashmë dini si të lexoni në binar 🙂 Por më i zgjuar mund të ketë vërejtur se ne gjithashtu kemi marrë një numër dhjetor, dhe se ai ka një kufi (kur të gjitha vlerat janë 1
) Ky kufi gjendet në numër 255
.
Fjalë
Tani më shumë se një do të më tregojë, por çka nëse kam nevojë për një numër më të madh se 255
? ose ku mund të gjej personazhe të tjerë si japonezët? Epo përgjigjja është e thjeshtë, le ta bashkojmë 2 bytes
. Tani që kemi dy, numri i mundshëm i kombinimeve që kemi është 2^16
o 65536
rezultatet e mundshme, të tilla si 0
është një nga ato, maksimumi i mundshëm është 65535
. A i bie ndonjë zile dikujt ky numër? Mos harroni numrin maksimal të portave në një sistem linux? I lë detyrat e shtëpisë
Fjala dyshe & fjala katrore
Për më matematikën ekzistojnë edhe formate specifike, fjalë e dyfishtë përmbajnë, siç e kanë imagjinuar tashmë shumë 2 word
o 4 bytes
(o 32 bits
) e informacionit, njësoj si të thuash:
11111111111111111111111111111111
tek 0
a 4 294 967 295
Në këtë pikë shumë do të pyesin se çfarë ndodh me numrat negativë, domethënë, ata duhet të mendohen diku, apo jo? Në mënyrë që të jenë në gjendje të ruajnë një numër negativ, zhvilluesit e procesorit zgjodhën të zënë bitin e parë në të majtë si një vlerë shenje. Kjo do të thotë që nëse biti i parë është 0
ne po flasim për një numër pozitiv, por nëse është 1
kemi një negativ. Tani shikoni pse bitët janë kaq të veçantë, ato mund të jenë çka të dëshironi
Por kjo padyshim që na lë me një pozicion më pak për të bërë shumëzimin! Pra, tonë0
a 4 294 967 295
bëhet:
-2,147,483,648
a +2,147,483,647
Tani, shumë prej nesh tashmë kanë procesorë të 64 bits
, dhe kjo është vlera e a fjalë quad, ne mund të kemi vlera që variojnë nga 0
a 18 446 744 073 709 551 615
. Ky është një numër i madh
Pse 8 bit?
Kjo është diçka që do të pyesin më shumë se një, dhe përgjigja është në pajisje. Që nga fillimi, përpunuesit kishin nevojë për të dhëna për të qenë në gjendje të kryejnë operacione. Të dhënat ruhen në memorien e kompjuterit dhe sa herë që procesori i kërkon ato, ai përdor autobusët e të dhënave për t'i marrë ato. Në kohët antike, këto autobusë mund të komunikonin maksimalisht 8 bit për cikël, kjo do të thotë se mënyra maksimale dhe më efikase e lëvizjes së të dhënave, ishte grupimi i 8 bitëve dhe dërgimi i tyre tek procesori.
Me kalimin e kohës, deri më sot, procesorët kanë zhvilluar aftësinë për të lëvizur 16 bit, 32 bit dhe… 64 bit.
Ç'lidhje ka me shtypjen?
Tani jemi në pjesën ku ka kuptim të gjitha 🙂 Shkrimi është një veti që gjuhët e programimit përdorin për të emëruar këto hapësira të kujtesës. Të gjitha variablat kanë homologun e tyre në njërën nga këto lloje të të dhënave, pa marrë parasysh se si quhen. Këto njihen si llojet primitive të të dhënaveÇdo gjuhë e shtypur fort ka konceptimin e saj për këto vlera, dhe sasinë që ato përfaqësojnë. Për shembull në C kemi bibliotekën limits.h
e cila na tregon sasinë maksimale dhe minimale të vlerave primitive.
Le të shohim se çfarë ndodh nëse përpiqemi të thyejmë një nga vlerat:
Në të djathtë kemi vlerat e skedarit limits.h
dhe në të majtë kemi marrë një nga këto vlera (unsigned short int
) dhe ne kemi caktuar një numër më të lartë se ai përkatës. Si rezultat përpiluesi na paralajmëron se po keqpërdorim memorien sepse forma binare e 66666
nuk mund të përshtatet në formën binare të 65535
. Kjo na çon në një mësim në performanca kur programojmë, nëse vlera juaj nuk do të rritet shumë me kalimin e kohës, ose nëse nuk kërkoni vlera aq të mëdha sa ato të një dyfishtë o fjalë quadPërdorimi i llojit të saktë zvogëlon sasinë e kujtesës së kërkuar nga CPU, e cila nënkupton një shpejtësi më të lartë të rikuperimit të të dhënave nëse llogaritet mirë.
Nga ana e përkthyesit kjo është më e lehtë për shkak të shndërrime të nënkuptuara. Cprandaj ne përcaktojmë një variabël në gjuhë të tilla si javascript ose Python, interpretuesi është përgjegjës për të kuptuar se çfarë lloji është, dhe caktimin e hapësirës së mjaftueshme të kujtesës për të kryer operacionet. Le të shohim një shembull të thjeshtë
Siç mund ta shihni, ne nuk duhet t'i shpjegojmë interpretuesit të python-it llojin e ndryshores sonë, sepse ai është përgjegjës për caktimin e një lloji dhe ruajtjen e tij në kujtesë
Njihni variablat tuaja
Kjo varet nga gjuha dhe lloji i implementimit që do të përdorni, por hapi i parë për të qenë në gjendje të programoni është të mësoni variablat që mund të përdorni 🙂 Pasi të keni kuptuar variablat, do të jeni në gjendje t'i përdorni ato në mënyrë efikase dhe logjike për të ruajtur informacionin (të siguruar nga një përdorues ose nga sistemi). Ky është hapi i parë në shkallën e programimit, dhe shpresojmë që pasi të lexoni këtë artikull, do të keni një kuptim më të mirë të mënyrës se si funksionon kompjuteri juaj dhe si ruan informacionin. Do të jetë me mua deri në artikullin tjetër, mos harroni të lini komentet tuaja për të parë nëse duhet të përforconi ose komentoni ndonjë pikë specifike. Brohoritje
E shkruar mirë, e përmbledhur dhe e qartë, në të njëjtën kohë interesante për të gjithë audiencat. Punë e bukur.
Faleminderit shumë, përshëndetje
Shpjegim i shkëlqyeshëm. Ju jeni një makinë.
Faleminderit
Shpjegoi shume mire faleminderit
Faleminderit për leximin e plotë
Shkëlqyeshëm, faleminderit për kontributin. Dhe duke përfituar nga çështja binare, ekziston mundësia që të mund të na jepni një klasë IP, nënrrjet, etj. Unë e kuptoj që nuk është një çështje programimi, por një shpjegim i mirë i kësaj çështje ka qenë gjithnjë në pritje.
Përsëri, faleminderit për shpjegimin tuaj
Përshëndetje Diego, mund të bëhet ... të them të drejtën edhe unë nuk kam hyrë në këtë temë, por nuk ka mënyrë më të mirë për të hetuar sesa duke kërkuar diçka për të ndarë në lidhje me të në një artikull ... Ne do ta lëmë atë në listë sepse postimi tjetër tashmë ka një temë dhe do të merret me forcimin. Pershendetje
Ju jeni një mësues i shkëlqyeshëm, dhe shumë bujar për të dhënë mësim atë që dini. Urime dhe faleminderit
Faleminderit shumë Pedro 🙂 Unë jam akoma duke kërkuar vende për të dhënë mësim, për fat të keq këtu në Peru është e vështirë kur ke vetëm një diplomë teknike profesionale, kështu që tani po shikoj mundësinë e vazhdimit të studimeve të mia universitare këtu ose ku mundem ose edhe të aplikoni për një master në një të huaj, kush e di, ndoshta diçka e tillë do të jepet së shpejti 🙂 por padyshim mësimdhënia është diçka që e bën ditën time
Nuk kisha lexuar një shpjegim më të mirë të kësaj teme, shembulli i parë është i shkëlqyeshëm
megjithëse nuk e kisha dëgjuar atë fjalë (si 16 variabla bit), fjalë të dyfishtë ose fjalë katrore
pa marrë parasysh se "Unë tashmë programoj", postimet janë interesante. Nëse do të ketë ndonjë problem, postimi do të përdorë C (kufijtë.h) si një shembull të madhësive të ndryshueshme, C ka specifikimin më pak specifik që ekziston
Pershendetje dicka 🙂 faleminderit shume, une doli me shembullin gjate rruges certainly sepse sigurisht qe njihen te dhena per ata qe kane lexuar pak nga Asambleja, dhe kjo eshte ajo qe procesori kupton 🙂 hahaha sigurisht C nuk eshte shume specifike, por mendoj se eshte Për shkak të faktit se transportueshmëria dhe arkitekturat e ndryshme që ajo mbështet ka qenë aq e larmishme sa C duhet të akomodojë çdo lloj procesori që të jetë me të vërtetë i lëvizshëm
Përshëndetje dhe faleminderit për ndarjen.
Nëse nuk do të ishte interesante nëse kjo seri mësimesh do të bazohej në ndryshk, unë mendoj se është një nga gjuhët më interesante që po zhvillohet sot.
Unë jam pas tij, por e pranoj që është një gjuhë e vështirë, por me një të ardhme të shkëlqyeshme ...
Unë pres artikujt tuaj të ardhshëm, ato janë me të vërtetë interesante.
Përshëndetje.
Përshëndetje Sergio, sigurisht që do të ishte interesante, kam dëgjuar që GNOME po planifikon të zbatojë Rust brenda paketës së programeve të saj, unë ende nuk kam parë fushën e plotë që ata synojnë, por një migrim po vjen.
Sa i përket gjuhëve, unë personalisht jam ende duke mësuar C, unë dua të jem në gjendje të filloj të zhvillohem në bërthamë në muajt e ardhshëm dhe preferoj të mësoj disa gjuhë në thellësi para se të filloj të rishikoj gjuhët e reja, por unë padyshim që mund të kërkoj diçka interesante dhe të bëj disa shembuj në Rust, meqenëse dokumentacioni i tij duket mjaft mirë vetë.
Përshëndetje dhe faleminderit për ndarjen
Shpjegime shumë të mira, si në këtë artikull, ashtu edhe në atë të mëparshmin. Shpresoj të vazhdoni me këtë temë që më duket shumë interesante.
Përshëndetje David, unë gjithashtu shpresoj të jem në gjendje të vazhdoj të shkruaj dhe veçanërisht t'i motivoj njerëzit të marrin pjesë me softuer falas, ka kaq shumë projekte dhe nevoja tani që të kesh disa duar shtesë për t'u zhvilluar do të ishte e shkëlqyeshme ...
të fala
A mund të bëni një postim në lidhje me makinën Turing?
Përshëndetje Mart 🙂 Unë mendoj se në disa komente ne e kemi prekur atë më parë, apo jo? Jam i sigurt që mund të krijoj diçka interesante për këtë temë ... le të shohim se çfarë mund të dalë. Përshëndetje dhe faleminderit për leximin e të gjithë artikujve të mi, nga dita e parë deri më sot ju kam parë gjithmonë mjaft të interesuar
Uau, faleminderit shumë çfarë shpjegimi të mirë.
të fala
Faleminderit shumë Allan 🙂 përshëndetje
Kam lexuar postimin tuaj të mëparshëm! Faleminderit shumë për shpjegimin, megjithëse mendoj se nuk do ta përfundoj kurrë të kuptoj fjalën.
Përshëndetje Ramon ... faleminderit shumë për leximin e të dyve. Nëse është i ndonjë dobie, «fjala» është evolucioni i një bajti, është si përpunuesit, përpara se të kishte 8-bit, pas 16-bit, etj ... kjo sepse çdo herë që ne kërkojmë më shumë hapësirë për të përpunuar dhe shpejtësi ose fuqi më të mirë ... 'fjala' lindi sepse hapësira e 'bajtit' ra e shkurtër, dhe e njëjta gjë me fjalën 'dyshe' dhe 'quad' is është evolucioni natyror që na bën të shtojmë fuqi dhe hapësirë për të vazhduar zhvillimin
të fala
Këtë 2018 mësoj të programoj po ose po, faleminderit
Jam i lumtur 🙂 përpiqem shumë !! Brohoritje
Faleminderit shumë, vazhdo kështu. Unë tashmë di si të programoj, por unë pres mësimet tuaja, që programimi im autodidakt është plot me praktika të këqija.
Faleminderit Guillermo 🙂 Epo shpresoj të gjesh gjëra interesante edhe në postimet vijuese. Përshëndetje
Një shpjegim i thjeshtë është gjithmonë më i miri .. i shkëlqyeshmi ..
Unë do të propozoja git ... për programuesit është thelbësore kur dëshironi të punoni si ekip dhe ta rregulloni punën tuaj .. versionet ..
Edgar shumë i vërtetë, do të përpiqem të postoj përmbajtje në lidhje me të, megjithëse është mjaft e vështirë të thuash diçka të re sepse dokumentacioni i git tashmë është i bollshëm dhe disa gjëra janë përkthyer tashmë në disa gjuhë. Do të shoh se çfarë mund të bëj, përshëndetje dhe falënderime për ndarjen
Përshëndetje, a korrespondon numri nga 0 në 18 446 744 073 709 551 615 me vlerën dhjetore 64 bit ose i referohet një vlere tjetër? Epo, duke llogaritur fuqinë e 2 ^ 64, rezultati që marr është: 18 446 744 073 709 552.
Përshëndetje Tiririri, mendoj se keni një problem rrumbullakimi, mund të provoni të përdorni komandën
bc
? është një gjuhë programimi e krijuar për të qenë sa më precize që të jetë e mundur, pasi të jetë brenda saj është e nevojshme vetëm të bëhet2^64
, mbase kjo do ta zgjidhë ... më tregoni se si shkoi, përshëndetje. Vlera reale është 18 446 744 073 709 551 616, por ne po heqim 1 sepse 0 llogaritet si një vlerë e mundshme
Faleminderit, kam llogaritur që me një kalkulator të energjisë që gjeta në net (https://es.calcuworld.com/calculadoras-matematicas/potencias/) dhe ky ishte rezultati që më dha.
Dhe po, unë tashmë e provova komandën bc, dhe kjo në mënyrë efektive më jep vlerën që keni shkruar.
Përshëndetje përsëri, imazhi ku ju i referoheni limitets.h biblioteka është shumë i vogël dhe nuk mund të lexohet (të paktën nuk mund ta lexoja, sepse e shoh që të gjithë e bënë, me sa duket), dhe pasi nuk e kuptoj atë nuk vazhdoj më leximi Nuk e di nëse mund ta ndryshoni, shpresoj të mos ju shqetësoj me këtë.
Mund të provoni versionin celular, ato duken pak më të qarta, është një temë wordpress: / nga ana tjetër, të gjitha kokat C mund të gjenden në / usr / përfshijnë /, në këtë rast mund të zgjidhni ta lexoni direkt nëse është më e lehtë 🙂 Do të përpiqem të ngarkoj një imazh më të madh për të parë nëse ndihmon
Faleminderit, mendoj se duhet të jem i durueshëm me këtë, heh heh.
Faleminderit për artikullin sepse tani i kuptova pak më mirë variablat dhe diapazonin e përfaqësimit të një gjuhe dhe tani mendoj se duhet të filloj të përdor bibliotekën "stdint.h" pasi që ata e rekomandojnë atë që të përdoret kur programon në c pasi një Unë isha mësuar në shkollën e vjetër pasi kujtesa ishte e çmuar dhe duhej pasur kujdes me atë që përdorej
Nuk ka Katekyo, është sigurisht më mirë të përdoret biblioteka standarde, por unë mund t'ju siguroj se është më mirë të dini se çfarë e dallon një uint_least8_t nga një uint_ fast8_t dhe që arrihet duke ditur llojet primitive të të dhënave, i cili ishte qëllimi i post 🙂 Shumë faleminderit për komentin dhe për leximin e artikullit, përshëndetje
: Ose një shpjegim mjeshtëror! Njoha një pjesë të koncepteve, por marr shumë njohuri të reja nga ky postim
Faleminderit shumë Viktor ... sa mirë që artikulli mund të jetë ndihmë, përshëndetje
Më pëlqente shumë Python për ta bërë programimin më të lehtë, pashë një kurs në http://zetcode.com/gui/pyqt4/ Më pëlqente tetrisi i fundit i: http://zetcode.com/gui/pyqt4/thetetrisgame/
Unë retushova këtë tetris gjatë një vere për të vendosur pikë, multiplayer dhe muzikë, pak nga pak, por shumë argëtuese.
Përshëndetje Guille, sigurisht që është shumë argëtuese të shohësh softuerin në të cilin po punon të rritet pak nga pak is është një përvojë e pakrahasueshme, dhe aq më tepër kur dikush e gjen të dobishme atë që po zhvillon, kjo është nga një botë tjetër 😀 faleminderit shumë për ndarjen 🙂
Atë që kam bërë kam ngarkuar (30 MB për muzikën) në http://guillermo.molleda.com/Tetris9.7z
Ju duhet të konfiguroni një shpejtësi fillestare të ndryshme për secilin lojtar ose nëse rifilloni pikët pas një loje të re,…, dhe ka tre lojtarë që dy vajzat e mia të luajnë me mua. Madje është edhe varësi.