[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/magic-liczba-programowanie-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/magic-liczba-programowanie-wikipedia\/","headline":"Magic Liczba (programowanie) – Wikipedia","name":"Magic Liczba (programowanie) – Wikipedia","description":"before-content-x4 W programowaniu komputerowym termin magiczny numer (po francusku “Magiczny numer” ) mo\u017ce wyznaczy\u0107: Cyfrowa sta\u0142a lub zestaw znak\u00f3w u\u017cywanych","datePublished":"2019-10-12","dateModified":"2019-10-12","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":100,"height":100},"url":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/magic-liczba-programowanie-wikipedia\/","wordCount":6539,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4W programowaniu komputerowym termin magiczny numer (po francusku “Magiczny numer” ) mo\u017ce wyznaczy\u0107: Cyfrowa sta\u0142a lub zestaw znak\u00f3w u\u017cywanych do wyznaczenia formatu pliku lub protoko\u0142u [[[ Pierwszy ] ; Nienazwana lub s\u0142abo udokumentowana sta\u0142a cyfrowa; Zestaw warto\u015bci o okre\u015blonym znaczeniu (na przyk\u0142ad GUIDS). (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4 Table of ContentsPochodzenie [[[ modyfikator |. Modyfikator i kod ] W danych [[[ modyfikator |. Modyfikator i kod ] Przyk\u0142ady [[[ modyfikator |. Modyfikator i kod ] Wykrycie [[[ modyfikator |. Modyfikator i kod ] W protokole [[[ modyfikator |. Modyfikator i kod ] U\u017cywa akceptowanych jako nienazwanych sta\u0142ych cyfrowych [[[ modyfikator |. Modyfikator i kod ] Powi\u0105zane artyku\u0142y [[[ modyfikator |. Modyfikator i kod ] Link zewn\u0119trzny [[[ modyfikator |. Modyfikator i kod ] Pochodzenie [[[ modyfikator |. Modyfikator i kod ] Ten rodzaj magiczny numer pojawi\u0142 si\u0119 w pierwszych wersjach kodu \u017ar\u00f3d\u0142owego wersji 7 UNIX. Chocia\u017c straci\u0142 swoje pierwotne znaczenie, termin ten pozosta\u0142 w leksykonie informatyki. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Kiedy UNIX by\u0142 skupiony na pierwszym DEC PDP-11\/20S, nie mia\u0142 mechanizmu ochrony pami\u0119ci i u\u017cy\u0142Ponowne album Wspomnienia o odniesienia (W) [[[ 2 ] . Zatem wersje przed wersj\u0105 6 UNIX odczyta\u0142y pliek wykonywalny w pami\u0119ci, skakaj\u0105c na przesuni\u0119cie 0. Wraz z opracowaniem paginacji, w nast\u0119puj\u0105cych wersjach UNIX rozwin\u0119\u0142y nag\u0142\u00f3wki Okre\u015blanie komponent\u00f3w pliku wykonywalnego. Instrukcja skoku umieszczona na pocz\u0105tku nag\u0142\u00f3wek zosta\u0142 opracowany, aby umo\u017cliwi\u0107 bezpo\u015brednio wykonywanie programu (bez czytania nag\u0142\u00f3wka); To pozwala wybra\u0107 mi\u0119dzy uruchomieniem programu za pomoc\u0105 starego trybu za pomoc\u0105 pami\u0119ci RealLovable ( tryb regularny ) lub przez paginacj\u0119. Wraz z rozwojem format\u00f3w wykonywalnych dodano nowe sta\u0142e skoku poprzez zwi\u0119kszenie przesuni\u0119cia [[[ 3 ] . w Komentarz Lions na temat 6. edycji UNIX z kodem \u017ar\u00f3d\u0142owym (W) Z wersji 6 UNIX, funkcja exec () odczytuje obraz binarny wykonywalny z systemu plik\u00f3w. Pierwsze osiem bajt\u00f3w tworzy nag\u0142\u00f3wek zawieraj\u0105cy rozmiar programu (segment tekst ) i zainicjowane zmienne (segment \u015bwiatowy ). Pierwsze szesna\u015bcie bit\u00f3w s\u0142\u00f3w tego nag\u0142\u00f3wka jest por\u00f3wnywane z dwoma sta\u0142ymi w celu ustalenia, czy wykonywalny u\u017cywa realoablicznych niezapomnianych referencji, niedawno opracowanego systemu strony czytania lub osobnych stron do instrukcji i danych [[[ 4 ] . W sz\u00f3stej i si\u00f3dmej wersji UNIX podw\u00f3jna rola tej sta\u0142ej od pocz\u0105tku nag\u0142\u00f3wka nie by\u0142a okre\u015blona, \u200b\u200bale siln\u0105 wag\u0105 tej sta\u0142ej by\u0142a operacja skakania na PDP-11 (Octal 000407 lub Hex 0107). Je\u015bli dodamy siedem do licznika programu wykonanego programu, u\u017cyje us\u0142ugi exec () Rozpocz\u0105\u0107. Obs\u0142uga exec () Odczytuje nag\u0142\u00f3wek plik\u00f3w wykonywalny (meta) z podstawowego bufora przestrzennego, ale obraz wykonywalny jest odczytany w przestrzeni u\u017cytkownika, a zatem nie jest w stanie korzysta\u0107 z sta\u0142ej skoku. . magiczny numer zosta\u0142y nast\u0119pnie zaimplementowane w edytorze link\u00f3w i \u0142adowarce UNIX; Trzeba by\u0142o je wykorzysta\u0107 p\u00f3\u017aniej w programach testowych dostarczanych z wersjami 6 i 7 UNIX. W wersji 7 sta\u0142a nie jest czytana bezpo\u015brednio; Jest najpierw przypisany do zmiennej ux_mag [[[ 5 ] a nast\u0119pnie wyra\u017cenie zosta\u0142o wyznaczone magiczny numer . Wiedz\u0105c, \u017ce w tym UNIX by\u0142o oko\u0142o 10 000 wierszy kodu i wielu u\u017cytych sta\u0142ych, ta nazwa jest raczej ciekawa sta\u0142ej, przynajmniej tak samo jak komentarz [[[ 2 ] Pozostawione w cz\u0119\u015bci dotycz\u0105cej zmiany kontekstu wersji 6 mened\u017cera aplikacji UNIX. Prawdopodobnie w\u0142a\u015bnie dlatego termin okre\u015bli\u0142 typ wykonywalnego, a nast\u0119pnie rozszerzony na systemy plik\u00f3w i nadal rozszerzony, aby wyznaczy\u0107 wykonywaj\u0105ce za pomoc\u0105 silnego pisania. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4W danych [[[ modyfikator |. Modyfikator i kod ] Kilka z tych liczb pochodzi z silnego pisania danych lub ich multipleksowania. Pozwalaj\u0105 programom zajmuj\u0105cym si\u0119 informacjami na identyfikacj\u0119 nast\u0119puj\u0105cych danych, a zw\u0142aszcza rozr\u00f3\u017cnienie zastosowanego formatu danych. Przyk\u0142ady [[[ modyfikator |. Modyfikator i kod ] Pliki i przep\u0142ywy Unicode mog\u0105 rozpocz\u0105\u0107 si\u0119 od wska\u017anika rz\u0119du obej\u015bcia (BOM), aby wskaza\u0107, \u017ce zaczyna si\u0119 tekst, okre\u015blaj\u0105c rodzaj u\u017cywanego UTF i mo\u017cliwej kolejno\u015bci bajt\u00f3w. Pliki binarne Java. Kapitan . Dekompresowane za pomoc\u0105 PACK200 (W) , kod jest przekszta\u0142cony w Cafed00d . Uwaga: Babe to znane wyra\u017cenie po angielsku do wyznaczenia dziewczyny (lalki), a D00D w Leet Speak odpowiada angielskiemu s\u0142owowi, kt\u00f3ry mo\u017ce skutkowa\u0107 facetem. Obrazy GIF u\u017cywaj\u0105 kodu ASCII GIF89a ( 47 49 46 38 39 61 ) Lub GIF87a ( 47 49 46 38 37 61 ). Obrazy JPEG zaczynaj\u0105 si\u0119 od Ff D8 i ko\u0144cz\u0105 si\u0119 I D9 . Obrazy JPEG\/JFIF zawieraj\u0105 kod ASCII dla Jfif ( 4a 46 49 46 ) i zako\u0144cz pustym ci\u0105giem znak\u00f3w. Obrazy JPEG\/EXIF zawieraj\u0105 kod ASCII dla Exif ( 45 78 69 66 ), a tak\u017ce ko\u0144cz\u0105 \u0142a\u0144cuchem zerowym, a nast\u0119pnie inne metadane. Obrazy PNG zaczynaj\u0105 si\u0119 od podpisu o\u015bmiu bajt\u00f3w: 211 P N G R N 32 N ( 89 50 4e 47 0d 0a 1a 0a ). Ten podpis pozwala na wykrywanie problem\u00f3w z transmisj\u0105: poniewa\u017c zawiera skoki linii (\u201eN\u201d), pozwala to wykry\u0107 na przyk\u0142ad ko\u0144cowe skoki linii dodane automatycznie podczas przeniesienia do trybu ASCII przez FTP (zamiast korzystania z trybu binarnego). Standardowe pliki MIDI zaczynaj\u0105 si\u0119 od MTHD ( 4d 54 68 64 ), a nast\u0119pnie inne metadane. Skrypty UNIX zawsze zaczynaj\u0105 si\u0119 od shebang ” #! \u00bb( 23 21 ), a nast\u0119pnie adres interpretera zam\u00f3wienia, kt\u00f3ry ma zosta\u0107 wykonany. Pliki i program PostScript zaczynaj\u0105 si\u0119 od \u201d %! \u00bb( 25 21 ). Dawne elementy wykonywalne. przeno\u015bny wykonywalny z Microsoft Windows zaczyna si\u0119 od kana\u0142u MZ ( 4d 5a ); To s\u0105 inicja\u0142y projektanta tych format\u00f3w, Mark Zbikowski (W) . Kod ZM ( 5a 4d ) jest r\u00f3wnie\u017c mo\u017cliwe, ale jest rzadsze. W systemie plik\u00f3w UFS superBlocchs Dane (W) s\u0105 identyfikowane przez kody 19 54 01 19 Lub 01 19 54 W zale\u017cno\u015bci od u\u017cywanej wersji. Oba odpowiadaj\u0105 dat\u0119 urodzenia ich projektanta, Marshalla Kirka McKusicka. G\u0142\u00f3wny rekord rozruchu ruchomych urz\u0105dze\u0144 wszystkich kompatybilnych z IA-32 maszyn PC ko\u0144czy si\u0119 AA 55 . G\u0142\u00f3wne Consoles Game Boy i Game Boy Advance zaczynaj\u0105 si\u0119 od sekwencji 48 i odpowiednio 156 bajt\u00f3w, kt\u00f3re odpowiadaj\u0105 kodowaniu bitmapy logo Nintendo. Zaczyna si\u0119 archiwa zip \u201d Pk \u00bb( 50 4b ), inicja\u0142y Phila Katza, kt\u00f3ry jest autorem u\u017cyteczno\u015bci kompresji PKZIP DOS. The Ekcesmetables for Amiga (Hunk Amiga (W) On Magic Cookie \u00bb. Pierwsze wersje czarnego ekranu \u015bmierci Amigi – zwane tak\u017ce medytacj\u0105 Guru, kt\u00f3ra wyst\u0119puje podczas niezidentyfikowalnego b\u0142\u0119du – wy\u015bwietl kod 48454C50 kt\u00f3ry odpowiada w ASCII do ” POMOC \u00bb(48 = H, 45 = E, 4C = L, 50 = P). Jedynym bezwzgl\u0119dnym adresem systemu Amiga to 0000 0004 USD (Adres lokalizacji 4), kt\u00f3ry zawiera system podstawowy \u201esysbase\u201d, wska\u017anik do exec.library , j\u0105dro systemowe. PowerPC PEF wykonywalne (W) U\u017cywane na Mac OS i BeoS zaczynaj\u0105 si\u0119 od kana\u0142u ASCII z ” Rado\u015b\u0107! \u00bb: 4a 6f 79 21 21 . Obrazy TIFF zaczynaj\u0105 si\u0119 od Ii Lub Mm \u015bledzony przez ” 42 \u00bb( 2a Z heksadecimal)-W odniesieniu do ksi\u0105\u017cki Douglasa Adamsa Najwa\u017cniejsze pytanie o \u017cycie, wszech\u015bwiat i reszta-jako liczba ca\u0142kowita kodowana na dw\u00f3ch bajtach w ma\u0142ych lub du\u017cych podmiotach w zale\u017cno\u015bci od rodzaju procesora. \u201e\u201d Ii \u00bbJest u\u017cywany na Intel (Petit Boutiste), kt\u00f3ry podaje kod 49 49 2a 00 . ‘ Mm \u00bbJest u\u017cywany na Motorola (Gros-Boutiste): 4d 4d 00 2a . Pliki tekstowe Unicode kodowane w UTF-16 og\u00f3lnie zaczynaj\u0105 si\u0119 od wska\u017anika zam\u00f3wienia bajtowego w celu wykrycia endianness ( Fe Dla du\u017cych end-endian i I dla Little-endian). Pliki UTF-8 najcz\u0119\u015bciej zaczynaj\u0105 si\u0119 od EF BB BF . BYTECODES dla LLVM zaczynaj\u0105 si\u0119 od pne ( 42 43 ). Pliki WAD, u\u017cywane przez gry oparte na silniku ID Tech 2, zacznij od Wad2 (Trz\u0119sienie i pochodne) lub Wad3 (Quake II i pochodne). Wykrycie [[[ modyfikator |. Modyfikator i kod ] Pod UNIX, polecenie plik pozwala zlokalizowa\u0107 format pliku z podpisu [[[ 6 ] . Istnieje kilka projekt\u00f3w pr\u00f3buj\u0105cych je wymieni\u0107 [[[ 7 ] W [[[ 8 ] . W protokole [[[ modyfikator |. Modyfikator i kod ] Protok\u00f3\u0142 Oscara u\u017cywany przez \u017c\u0105dania prefiksu AIM\/ICQ 2a . W protokole RFB u\u017cywanym przez VNC program klient\u00f3w zaczyna od wys\u0142ania RFB ( 52 czterdzie\u015bci sze\u015b\u0107 42 ) Monitorowanie wed\u0142ug numeru wersji protoko\u0142u u\u017cywanego przez klienta. W protokole SMB u\u017cywanym przez system Windows, ka\u017cde \u017c\u0105danie i ka\u017cda odpowied\u017a serwera zaczynaj\u0105 si\u0119 od Ff 53 4d 42 , to znaczy, przekszta\u0142caj\u0105c heksadecimal w ASCII: xffsmb . W protokole MSRPC (W) w systemie Windows, ka\u017cde \u017c\u0105danie TCP zaczyna si\u0119 od 05 Do \u201eMicrosoft DCE\/RPC wersja 5\u201d, a nast\u0119pnie 00 Lub 01 Dla drobnego numeru wersji. \u017b\u0105dania UDP zawsze zaczynaj\u0105 si\u0119 od 04 . Interfejsy com i dcom jako objref (W) Zawsze zacznij od \u201eMeow\u201d ( 4d 45 4f 57 ). Rozszerzenia debugowania u\u017cywane przez DCOM zaczynaj\u0105 si\u0119 od \u201eMarb\u201d ( 4d 41 52 42 ). Rozpoczyna si\u0119 niekwestionowana pro\u015bba o Bittorrent Tracker 13 (kt\u00f3ry reprezentuje d\u0142ugo\u015b\u0107 nag\u0142\u00f3wka), a nast\u0119pnie wyra\u017cenie \u201eprotok\u00f3\u0142 bittorrent\u201d. Pakiety Edonkey2000 i Emule, tworz\u0105c tylko bajt zawieraj\u0105 u\u017cywan\u0105 wersj\u0119 klienta: obecnie E3 reprezentuje klienta Edonkey, C5 klient na\u015bladuje i D4 Klient emuluj\u0105cy za pomoc\u0105 kompresji. Transakcje SSL zawsze zaczynaj\u0105 si\u0119 od wiadomo\u015bci \u201d Klient Hello \u00bb. Schemat enkapsulacji pakiet\u00f3w SSL zastrzega si\u0119 dwa lub trzy bajty dla nag\u0142\u00f3wka. Og\u00f3lnie A ” Klient Hello \u00bbKlient SSL w wersji 2 zaczyna si\u0119 od 80 A odpowied\u017a serwera wersji 3 na klienta zaczyna si\u0119 od 16 (ale mo\u017ce si\u0119 r\u00f3\u017cni\u0107). Pakiety DHCP u\u017cywaj\u0105 Magic Cookie 63 82 53 63 Na pocz\u0105tku sekcji opcji wszystkich pakiet\u00f3w. Ta magiczna liczba odpowiada sekwencji ASCII “? R5? \u201e(Traktuj\u0105c warto\u015bci szesnastkowe jako warto\u015bci dziesi\u0119tne), jest zdefiniowane w wersji 5 prekursora protoko\u0142u BOOTP DHCP. Termin magiczny numer Mo\u017ce r\u00f3wnie\u017c odpowiada\u0107 u\u017cyciu nienazwanych sta\u0142ych cyfrowych w kodzie \u017ar\u00f3d\u0142owym programu. Zastosowanie tych sta\u0142ych narusza stare zasady programowania od Cobol, Fortran i Pl\/I [[[ 9 ] , nie wyja\u015bnia, aby wyb\u00f3r tej warto\u015bci [[[ dziesi\u0119\u0107 ] i og\u00f3lnie powoduje b\u0142\u0119dy programowania. Wed\u0142ug niekt\u00f3rych nazewnictwo wszystkich sta\u0142ych sprawia, \u017ce \u200b\u200bkod jest bardziej czytelny, bardziej zrozumia\u0142y i \u0142atwiejszy [[[ 11 ] . Nazwa sta\u0142ych musi mie\u0107 znaczenie w zale\u017cno\u015bci od kontekstu; Na przyk\u0142ad lepiej jest unika\u0107 kod\u00f3w gatunku SCUTIZE = 16 chwila Name_bits by\u0142by ja\u015bniejszy. Problemy z nimi magiczny numer nie ograniczaj\u0105 si\u0119 do sta\u0142ych cyfrowych; Termin ten jest r\u00f3wnie\u017c u\u017cywany do innych rodzaj\u00f3w danych, deklaracja sta\u0142ych jest bardziej elastyczna i znacz\u0105ca [[[ 9 ] . W ten spos\u00f3b deklaruj Const String Test Ameurizer = \u201eJean\u201d jest lepsze ni\u017c korzystanie z s\u0142owa kluczowego \u201d Drelich \u201eW rozpowszechniony spos\u00f3b w programie; ponadto upraszcza to faz\u0119 testow\u0105. Na przyk\u0142ad nast\u0119puj\u0105cy pseudo-kod pozwala losowo wymiesza\u0107 warto\u015bci tabeli reprezentuj\u0105cej zestaw 52 kart: Do I z Pierwszy Do 52 J: = i + losowe (53 - i) - 1 Jeu.Swapentries (i, j) Lub gra to obiekt typu tabeli, funkcja Randomint (x) wybra\u0142 liczb\u0119 losow\u0105 mi\u0119dzy 1 a X w tym i Swapentries (I, J) wymieni\u0107 pozycj\u0119 danych umieszczonych I I J Na obrazie. W tym przyk\u0142adzie 52 jest magiczny numer . Wskazane jest pisanie: sta\u0142y int Nazwa Decart: = 52 Do I z Pierwszy Do Liczba kart J: = i + losowe (numerDecartes + 1 - i) - 1 game.swapantries (i, J) I to z wielu powod\u00f3w: Drugi przyk\u0142ad jest \u0142atwiejszy do odczytania i zrozumienia. Czytanie programist\u00f3w pierwszego przyk\u0142adu zastanowi si\u0119 \u201edlaczego 52?\u201d Chocia\u017c z pewno\u015bci\u0105 by\u0142by w stanie zrozumie\u0107, starannie czytaj\u0105c ca\u0142y kod. . magiczny numer Staj si\u0119 myl\u0105cy, gdy ta sama warto\u015b\u0107 jest u\u017cywana do wyznaczenia zupe\u0142nie innych rzeczy w tej samej cz\u0119\u015bci kodu. \u0141atwiej jest zmodyfikowa\u0107 warto\u015b\u0107 sta\u0142y, poniewa\u017c nie jest ona powielana. Zmie\u0144 warto\u015b\u0107 magiczny numer jest \u017ar\u00f3d\u0142em b\u0142\u0119du, poniewa\u017c ta sama warto\u015b\u0107 jest bardzo cz\u0119sto u\u017cywana w kilku miejscach w programie. Mo\u017cliwe jest r\u00f3wnie\u017c, \u017ce dwie zmienne o r\u00f3\u017cnych znaczeniach maj\u0105 t\u0119 sam\u0105 warto\u015b\u0107; Stwarza to problem z ich rozr\u00f3\u017cnieniem. Aby dostosowa\u0107 pierwszy przyk\u0142ad do gry tarota 78 kart, programista m\u00f3g\u0142by naicznie zast\u0105pi\u0107 wszystkie zdarzenia o 52 na 78. Mo\u017ce to spowodowa\u0107 dwa problemy: po pierwsze, warto\u015b\u0107 53 drugiego wiersza przyk\u0142adu nie zostanie zmieniona i przyniesie The program zajmuj\u0105cy si\u0119 jedynie cz\u0119\u015bci\u0105 gry karcianej; Po drugie, mo\u017ce zast\u0105pi\u0107 \u0142a\u0144cuch \u201e52\u201d w ca\u0142ym programie, nie zwracaj\u0105c uwagi na to, co to znaczy, co z pewno\u015bci\u0105 wprowadzi\u0142oby b\u0142\u0119dy. Dla por\u00f3wnania zmie\u0144 warto\u015b\u0107 Nazwa Dekartes W drugim przyk\u0142adzie jest bardzo prosta operacja i wymaga modyfikacji tylko jednej linii. Deklaracja zmiennych zast\u0119puj\u0105cych magiczny numer s\u0105 umieszczane na pocz\u0105tku funkcji lub plik\u00f3w w celu u\u0142atwienia ich bada\u0144 i modyfikacji. Wprowadzenie parametr\u00f3w jest \u0142atwiejsze. Na przyk\u0142ad, aby uog\u00f3lni\u0107 przyk\u0142ad i sprawi\u0107, \u017ce mo\u017ce on miesza\u0107 dowoln\u0105 wi\u0105zk\u0119 kart, konieczne by\u0142oby przej\u015bcie Nazwa Dekartes W parametrze procedury: funkcjonowa\u0107 melan\u017c( int Nazwa Decartesa) Do I z Pierwszy Do Liczba kart J: = i + losowe (numerDecartes + 1 - i) - 1 game.swapantries (i, J) \u0141atwiej jest wykry\u0107 skorupy, poniewa\u017c zadeklarowana zmienna jest weryfikowana przez kompilator. Na przyk\u0142ad Wpisz \u201e62\u201d zamiast \u201e52\u201d nie zostanie wykryte, podczas gdy \u201enumberDeCates\u201d zamiast \u201eNumberDecartes\u201d podnios\u0105 ostrze\u017cenie (lub b\u0142\u0105d) kompilatora informuj\u0105cego, \u017ce \u201enumeryDeCates\u201d nie s\u0105 zdefiniowane. Umo\u017cliwia to r\u00f3wnie\u017c zminimalizowanie wpis\u00f3w klawiatury w IDE, umo\u017cliwiaj\u0105c ca\u0142kowicie automatyczne: Wystarczy wpisa\u0107 pierwsze litery zmiennej, aby IDE uzupe\u0142nia\u0142o j\u0105 automatycznie. Nadal s\u0105 pewne wady: Wykonanie wyra\u017cenia Nazwa Decartes + 1 wymaga wi\u0119cej czasu ni\u017c wyra\u017cenie 53 . Niemniej jednak wi\u0119kszo\u015b\u0107 kompilator\u00f3w i wsp\u00f3\u0142czesnych t\u0142umaczy jest w stanie zrozumie\u0107, \u017ce zmienna Nazwa Dekartes zosta\u0142 og\u0142oszony sta\u0142\u0105 i warto\u015b\u0107 przed klas\u0105 53 w skompilowanym kodzie. U\u017cycie du\u017cych nazw zmiennych wyd\u0142u\u017ca linie kodu, zmuszaj\u0105c pewne wiersze kodu do roz\u0142o\u017conego na kilku liniach. Debu mo\u017ce by\u0107 trudniejsze, je\u015bli debugger nie stanowi korespondencji mi\u0119dzy nazwami zmiennymi a ich warto\u015bci\u0105. U\u017cywa akceptowanych jako nienazwanych sta\u0142ych cyfrowych [[[ modyfikator |. Modyfikator i kod ] W niekt\u00f3rych przypadkach – zale\u017cne od nawyk\u00f3w kodowania – akceptowane jest u\u017cycie sta\u0142ych cyfrowych: u\u017cycie 0 lub 1 jako warto\u015bci pocz\u0105tkowej lub warto\u015bci przyrostowej w p\u0119tli dla: dla (int i = 0; i (Zak\u0142adaj\u0105c, \u017ce zwi\u0119kszenie I ++ nie jest wspierany); (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/magic-liczba-programowanie-wikipedia\/#breadcrumbitem","name":"Magic Liczba (programowanie) – Wikipedia"}}]}]