Nwlapcug.com


Può COBOL visualizzare un valore esadecimale?

Può COBOL visualizzare un valore esadecimale?


COBOL, linguaggio oriented, è stato un pilastro di programmatori di software commerciale fin dalle sue origini nel 1959. Anche se COBOL gestisce più facilmente i formati di dati numerici e di testo standard, è possibile anche utilizzare per visualizzare i valori esadecimali. I numeri esadecimali, o esadecimale, sono un formato di base 16 utilizzato per rappresentare tutti i dati all'interno di un computer. Hex è utile per il debug di programmi; usandolo, è possibile identificare il contenuto esatto della memoria del computer.

Formato esadecimale

Ingegneri informatici ha adottato il formato esadecimale, o base 16, sistema di numerazione come un modo conveniente per rappresentare bit computer. Invece di scrivere e la visualizzazione di singoli bit, viene visualizzato un computer cifre esadecimali che si distinguono per quattro bit ciascuno. Ogni cifra esadecimale assume 16 valori diversi; perché non sono sufficienti per esprimere questo valore 10 numeri decimali, cifre esadecimali utilizzano i numeri da zero a 9 + lettere dalla alla F. È possibile utilizzare più facilmente il numero esadecimale "A081" rispetto al binario equivalente "1010000010000001," per esempio.

Valore letterale esadecimale

In COBOL come in altre lingue, i valori letterali sono utili per inizializzare aree dati, reimpostare le variabili ed eseguire molte altre operazioni di pulizia. Ad esempio, si imposta l'intestazione di un report di spedizione per il valore di testo letterale, "JONES Inc spedizione settimanale." Occasionalmente, potrebbe essere necessario impostare una variabile su un numero esadecimale; per effettuare questa operazione, è necessario iniziare il valore con una "X", come mostrano i seguenti dichiarazioni di COBOL:

05 HEX-CODE PIC X(01) VALUE X”2D”.

o

MOVE X”2D” TO HEX-CODE.

Si noti che le virgolette racchiudere il valore esadecimale. Utilizzando questa tecnica, si vede il valore di una variabile in esadecimale, anche se solo nel codice sorgente di un programma inserzione.

Debugger

Per identificare la causa del codice rotto, i programmatori utilizzano uno strumento software chiamato un debugger. Il debugger consente al programmatore di vedere esattamente come il programma viene eseguito e lascia vedere il contenuto delle variabili di memoria del programma. Un buon debugger consente di visualizzare il contenuto della memoria in diversi formati tra cui testo, numeri e hex. Anche se un po ' più difficile da leggere rispetto familiari numeri o testo, un display esadecimali rivela i dati esatti in memoria. Osservando come i dati vengono modificati durante l'esecuzione del programma, il programmatore può trovare causa del problema.

Dump esadecimale

Alcune versioni di COBOL hanno una funzione che genera un profilo chiamato un "dump esadecimale" Se il programma si blocca. Il dump esadecimale è una visualizzazione esadecimale di tutte le variabili in memoria del programma insieme a una mappa di dove le variabili risiedono in memoria. Perché questo funziona solo quando il programma termina in modo anomalo, e perché Visualizza tutta la memoria di un programma, non è possibile utilizzare questa tecnica per la visualizzazione di alcuni valori esadecimali quando si esegue un programma normalmente.

Codice aggiunto

La maggior parte delle versioni di COBOL non è una funzione incorporata per visualizzare alcuni valori esadecimali. Al contrario, è necessario aggiungere il codice di programmazione che traduce i valori in esadecimale, quindi li Visualizza. Tale aggiunta a un programma dovrebbe includere una variabile definita come matrice di byte singoli; del programma "procedura di divisione," una routine scandisce la matrice di byte per byte e traduce ogni byte a una tabella equivalente di caratteri di testo. Quando il programma Visualizza i caratteri di testo, hanno l'aspetto di valori esadecimali. Ad esempio, il programma converte la stringa di caratteri "ABC" nella stringa equivalente "C1C2C3." I primi due caratteri, "C1", ad esempio, rappresentano la lettera "A" in esadecimale.