Kezdőoldal » Számítástechnika » Programozás » Törésnél tudnunk kell a...

Törésnél tudnunk kell a program teljes kódját?

Figyelt kérdés

2016. aug. 21. 22:27
1 2
 11/17 A kérdező kommentje:

Jaaa... erre azért gondolhattam volna.

Akkor a processzor utasítások úgy néznek ki, hogy pl lehet nem csak 0x kezdetű, hanem 1x, 2x... Ex, Fx, ami összesen csak úgy ránézésre 4096 lehetőség összesen.

Ezzel nem azt mondom, hogy akkor a 16-os számrendszer 4096-ig tart, csak abban a formában, XxXX 16 helyiérték van, ami 16^3, ami 4096.

Ez így már igazabb?

2016. aug. 23. 12:13
 12/17 anonim ***** válasza:
Nem. Ez a 0xFF egy hexakód, ami egy bájton (16^2) reprezentál egy értéket. Az, hogy a a binárist így jeleníti meg valami még egyáltalán nem jelenti, hogy minden egyes kód egy-egy külön utasítás. A probléma, hogy te szerintem nagyon azt akarod látni, hogy ez a 0xVALAMI formula él a bináris állományban. Túrót, a binárisban lényegében 1-esek és 0-k vannak, ez a forma nem több mint jelölésforma. Az a 0x igazából csak azért szerepel az editorban, hogy tudd, hexadecimális kódot látsz. A programkódban erre nincs szükség, ott minden bináris. És éppezér,t mint olyan,a programkód nem több egy bináris értékek végeláthatatlan láncolatánál. A gép "elválasztókarakterek" nélkül is tudja, mit kell csinálnia. Egy hexaeditor viszont nem fogja magától tudni, hol vannak az utasításvégek, ezért egyáltalán nem reprezentatív, hogy épp bájtonként tördeli fel.
2016. aug. 23. 12:28
Hasznos számodra ez a válasz?
 13/17 A kérdező kommentje:

:( szerintem értem mostmár. Ha a 0x nem jelent semmit, csak egy bájtot jelöl, ami nem feltétlenül ér is valamit egymagában.

Értem, ez csak egy bájt értékét jelöli.

2016. aug. 23. 20:53
 14/17 anonim ***** válasza:
100%
A "0x" azt jelenti, hogy az utána következő karaktersort hexadecimálisként kell értelmezni.
2016. aug. 23. 23:20
Hasznos számodra ez a válasz?
 15/17 anonim ***** válasza:
100%

Amit #14 mond. A 0x jelölés lényegében csak számodra egy jelzés, hogy hexadecimális kódot látsz, a tényleges állományban csak az utána szereplő szám bináris alakja található.

Illetve ha programozol valamilyen nyelven (teszemazt C++), akkor ez a fordítónak is egy jelzés, hogy miként értelmezze az egyes számliterálokat. 123 egy decimális (10-es) szám, 0x123 hexadecimálisként (16-os), 0123 pedig oktálisként (nyolcas) értelmezendő, és mint olyan, mindegyik más értéket reprezentál. Viszont amikor ez lefordul és bekerül az állományba, akkor mindegy, hogy a kódban miként szerepeltetted, bináris számra alakul át az összes.

2016. aug. 24. 00:53
Hasznos számodra ez a válasz?
 16/17 A kérdező kommentje:

Értem, jól elmagxaráztátok a végén :)

Okés, akkor akár az is lehetne, ogy TIZENHATOSx, de akkor ezt csak az adott program csapja elé azért, hogy tudjuk, milyen számrendszer.

2016. aug. 24. 11:18
 17/17 anonim ***** válasza:
Megvan az oka annak, hogy 0x van előtte, és nem más, olyan általános jelölésmód kellett, amivel elkerülhető, hogy másképp is interpretálható legyen (azonosítóként, más számrendszerbeli számként, ilyesmi).
2016. aug. 24. 17:52
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!