Variablat 101: Njohja e kompjuterit tuaj

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 12^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

Rezultati i figurës për tabelën ascii

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:

Vetanake. Christopher Diaz Riveros

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ë

Vetanake. Christopher Diaz Riveros

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


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   Luis dijo

    E shkruar mirë, e përmbledhur dhe e qartë, në të njëjtën kohë interesante për të gjithë audiencat. Punë e bukur.

    1.    ChrisADR dijo

      Faleminderit shumë, përshëndetje

  2.   Gjon Jezusi dijo

    Shpjegim i shkëlqyeshëm. Ju jeni një makinë.

    1.    ChrisADR dijo

      Faleminderit

  3.   Ruben dijo

    Shpjegoi shume mire faleminderit

    1.    ChrisADR dijo

      Faleminderit për leximin e plotë

  4.   Diego dijo

    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

    1.    ChrisADR dijo

      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

  5.   Peter dijo

    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

    1.    ChrisADR dijo

      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

  6.   diçka dijo

    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

    1.    ChrisADR dijo

      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.

  7.   Sergio dijo

    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.

    1.    ChrisADR dijo

      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

  8.   David dijo

    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.

    1.    ChrisADR dijo

      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

  9.   pazar dijo

    A mund të bëni një postim në lidhje me makinën Turing?

    1.    ChrisADR dijo

      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

  10.   ALLAN LARA dijo

    Uau, faleminderit shumë çfarë shpjegimi të mirë.

    të fala

    1.    ChrisADR dijo

      Faleminderit shumë Allan 🙂 përshëndetje

  11.   ramon hidalgo dijo

    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.

    1.    ChrisADR dijo

      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

  12.   anonim dijo

    Këtë 2018 mësoj të programoj po ose po, faleminderit

    1.    ChrisADR dijo

      Jam i lumtur 🙂 përpiqem shumë !! Brohoritje

  13.   Guillermo dijo

    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.

    1.    ChrisADR dijo

      Faleminderit Guillermo 🙂 Epo shpresoj të gjesh gjëra interesante edhe në postimet vijuese. Përshëndetje

  14.   Edgar dijo

    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 ..

    1.    ChrisADR dijo

      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

  15.   tiririri dijo

    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.

    1.    ChrisADR dijo

      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ëhet 2^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

      1.    tiririri dijo

        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.

  16.   tiririri dijo

    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ë.

    1.    ChrisADR dijo

      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

      1.    tiririri dijo

        Faleminderit, mendoj se duhet të jem i durueshëm me këtë, heh heh.

  17.   Katekyo dijo

    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

    1.    ChrisADR dijo

      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

  18.   fitimtar dijo

    : Ose një shpjegim mjeshtëror! Njoha një pjesë të koncepteve, por marr shumë njohuri të reja nga ky postim

    1.    ChrisADR dijo

      Faleminderit shumë Viktor ... sa mirë që artikulli mund të jetë ndihmë, përshëndetje

  19.   Guille dijo

    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.

    1.    ChrisADR dijo

      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 🙂

      1.    Guille dijo

        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.