Friday 17 November 2017

Pic S9-08 Binario Options


Conversione Cobol PIC a informats SAS Da: Dianne Rodi il 14 settembre 2006 13:12 On Thu, 14 settembre 2006 09:57:00 -0700, sdlenter ltsdlentert (a) AOLgt ha scritto: gtthat aiuto davvero didn039t. GTIs piace PD gt gt No, wasn039t era a quanto pare stiamo prendendo la cattiva abitudine di non essere utile. Se siete su MF si desidera PD e RB. Dalla documentazione on-line: viene presentato il confronto imballato notazione decimale in diversi linguaggi di programmazione: Lingua notazione SAS PD4. COBOL COMP-3 PIC S9 (7) IBM 370 assemblatore PL4 PLI FISSO dicembre La tabella seguente confronta i nomi dei reali notazione binaria in diversi linguaggi di programmazione: Lingua 4 byte 8 byte SAS RB4. RB8. FORTRAN REAL4 REAL8 C float doppio COBOL COMP-1 COMP-2 IBM 370 assemblatore E D Credo in COBOL Comp è la stessa comp-1. I039ve mai visto comp-2 me stesso. Se si aren039t sul mainframe, utilizzare il corrispondente S370 formatta Mark menzionato. Dianne Rodi BLS parte del COBOL cabala Da: quotTerjeson, Markquot il 14 settembre 2006 13:26 L'altra parte che entra in gioco è ciò che la piattaforma (s) si sarebbe riferendo. Si tratta di un mainframe o mini piattaforma, cioè EBCDIC o ASCII o si tratta di file da un EBCDIC ad un sistema ASCII La vera questione è in quale stato (o sapore) sono i dati attualmente in E 'EBCDIC EBCDIC e rimanendo, o EBCDIC scaricato a un piattaforma di ASCII e ha il file già stato convertito da EBCDIC a ASCII Se cominciamo con il più tardi, già convertiti in ASCII poi i byte e stuzzichini per il PD o campi ZD sono già stati corrotti. vale a dire non si desidera che i valori di byte EBCDIC mappati per il set di caratteri ASCII. si desidera loro di rimanere intatto se andare a una piattaforma ASCII. Per fare questo download dalla piattaforma EBCDIC alla piattaforma ASCII con FTP e modificare la modalità da ASCII a binario che indica FTP di non convertire, ma per uscire da tutti i byte come è nel file. Poi i formati S370xxx funzionano solo grande, e per afferrare gli altri pezzi di testo basta usare EBCDIC. informat per alternare pezzi di testo (mappa) il carattere. Ancora più importante, se si può fare una discarica o in qualche modo dare una piccola utility per visualizzare i valori di byte sulla piattaforma originale, è possibile vedere visibilmente le cifre sgranocchiare (mezzo byte) e vedere il numero reale e la lettera di bandiere per il segno bocconcino, ecc si può seguire questa fino alla macchina di destinazione e vedere se avete i byte originali o posto se una conversione indesiderata ha già preso. Naturalmente, ci possono essere qualcos'altro in gioco qui per voi, ma in genere, se si mantiene il sapore del file dritto e utilizzare i informats in scatola, di solito funziona bene. Spero che questo è utile. Mark Terjeson anziano Analista Programmatore, leader IMampR Russell Investment Group Russell Global nell'investire multi-manager ----- Messaggio originale ----- Da: SAS (r) Discussione mailto: SAS-L (a) LISTSERV. UGA. EDU per conto di sdlenter Sent: Giovedi 14 settembre, 2006 09:57 a: SAS-L (a) LISTSERV. UGA. EDU Oggetto: Re: Conversione Cobol PIC a informats SAS che aiutano realmente didn039t. è come il PD quotTerjeson, Markquot ha scritto: Ciao gt, gt gt Vedere le SAS Informat S370FPDw. d per COBOL 9 (n) Vedere la SAS Informat GT S370FZDw. d per COBOL S9 (n) gt gt gt gt Spero che questo è utile. gt gt gt Mark Terjeson gt Senior Analyst Programmer, IMampR gt Russell Investment Group gt gt gt gt Russell Global Leaders in multi-manager Investire gt gt gt gt gt gt gt ----- Original Message ----- GT da: SAS (r) Discussione mailto: SAS-L (a) LISTSERV. UGA. EDU per conto di GT sdlenter gt Inviato: Mercoledì 13 settembre 2006 15:00 GT: SAS-L (a) LISTSERV. UGA. EDU gt Oggetto: Conversione Cobol PIC a SAS informats gt gt Come faccio a convertire i seguenti: gt IMMAGINE S9 (05) V99 COMP-3 gt IMMAGINE S9 (11) V99 COMP-3. gt IMMAGINE S9 (11) COMP-3. gt IMMAGINE S9 (13) COMP-3. gt IMMAGINE S9 (05) COMP-3. gt IMMAGINE S9 (03) COMP-3. gt IMMAGINE S9 (15) COMP-3. gt gt IMMAGINE S9 (04) COMP. gt IMMAGINE S9 (18) COMP. Da: quotTerjeson, Markquot il 14 settembre 2006 13:29 PS: Se il file di dati originale non è EBCDIC, quindi potrebbe essere necessario controllare il SAS informats PDw. d e ZDw. d come la notazione S370 aggiunge la conversione EBCDIC al processo . ----- Messaggio originale ----- Da: Terjeson, Mark Sent: Giovedi 14 settembre, 2006 10:26 A: 039sdlenter039 SAS-L (a) LISTSERV. UGA. EDU Oggetto: Re: Re: Conversione Cobol PIC a SAS informats L'altra parte che entra in gioco è ciò che la piattaforma (s) si sarebbe riferendo. Si tratta di un mainframe o mini piattaforma, cioè EBCDIC o ASCII o si tratta di file da un EBCDIC ad un sistema ASCII La vera questione è in quale stato (o sapore) sono i dati attualmente in E 'EBCDIC EBCDIC e rimanendo, o EBCDIC scaricato a un piattaforma di ASCII e ha il file già stato convertito da EBCDIC a ASCII Se cominciamo con il più tardi, già convertiti in ASCII poi i byte e stuzzichini per il PD o campi ZD sono già stati corrotti. vale a dire non si desidera che i valori di byte EBCDIC mappati per il set di caratteri ASCII. si desidera loro di rimanere intatto se andare a una piattaforma ASCII. Per fare questo download dalla piattaforma EBCDIC alla piattaforma ASCII con FTP e modificare la modalità da ASCII a binario che indica FTP di non convertire, ma per uscire da tutti i byte come è nel file. Poi i formati S370xxx funzionano solo grande, e per afferrare gli altri pezzi di testo basta usare EBCDIC. informat per alternare pezzi di testo (mappa) il carattere. Ancora più importante, se si può fare una discarica o in qualche modo dare una piccola utility per visualizzare i valori di byte sulla piattaforma originale, è possibile vedere visibilmente le cifre sgranocchiare (mezzo byte) e vedere il numero reale e la lettera di bandiere per il segno bocconcino, ecc si può seguire questa fino alla macchina di destinazione e vedere se avete i byte originali o posto se una conversione indesiderata ha già preso. Naturalmente, ci possono essere qualcos'altro in gioco qui per voi, ma in genere, se si mantiene il sapore del file dritto e utilizzare i informats in scatola, di solito funziona bene. Spero che questo è utile. Mark Terjeson anziano Analista Programmatore, leader IMampR Russell Investment Group Russell Global nell'investire multi-manager ----- Messaggio originale ----- Da: SAS (r) Discussione mailto: SAS-L (a) LISTSERV. UGA. EDU per conto di sdlenter Sent: Giovedi 14 settembre, 2006 09:57 a: SAS-L (a) LISTSERV. UGA. EDU Oggetto: Re: Conversione Cobol PIC a informats SAS che aiutano realmente didn039t. è come il PD quotTerjeson, Markquot ha scritto: Ciao gt, gt gt Vedere le SAS Informat S370FPDw. d per COBOL 9 (n) Vedere la SAS Informat GT S370FZDw. d per COBOL S9 (n) gt gt gt gt Spero che questo è utile. gt gt gt Mark Terjeson gt Senior Analyst Programmer, IMampR gt Russell Investment Group gt gt gt gt Russell Global Leaders in multi-manager Investire gt gt gt gt gt gt gt ----- Original Message ----- GT da: SAS (r) Discussione mailto: SAS-L (a) LISTSERV. UGA. EDU per conto di GT sdlenter gt Inviato: Mercoledì 13 settembre 2006 15:00 GT: SAS-L (a) LISTSERV. UGA. EDU gt Oggetto: Conversione Cobol PIC a SAS informats gt gt Come faccio a convertire i seguenti: gt IMMAGINE S9 (05) V99 COMP-3 gt IMMAGINE S9 (11) V99 COMP-3. gt IMMAGINE S9 (11) COMP-3. gt IMMAGINE S9 (13) COMP-3. gt IMMAGINE S9 (05) COMP-3. gt IMMAGINE S9 (03) COMP-3. gt IMMAGINE S9 (15) COMP-3. gt gt IMMAGINE S9 (04) COMP. gt IMMAGINE S9 (18) COMP. Da: quotTerjeson, Markquot il 14 settembre 2006 13:30 PPS: Mi scusi, un modo migliore per affermare che è se si è in EBCDIC e rimanere in EBCDIC, o si è in ASCII e rimanere in ASCII, quindi controllare le informats PD e ZD ----- Messaggio originale ----- Da: Terjeson, Mark Sent: Giovedi 14 settembre, 2006 10:29 a: 039sdlenter039 039SAS-L (a) LISTSERV. UGA. EDU039 Oggetto: RE: Re : conversione Cobol PIC a SAS informats PS: Se il file di dati originale non è EBCDIC, quindi potrebbe essere necessario controllare il SAS informats PDw. d e ZDw. d come la notazione S370 aggiunge la conversione EBCDIC al processo. ----- Messaggio originale ----- Da: Terjeson, Mark Sent: Giovedi 14 settembre, 2006 10:26 A: 039sdlenter039 SAS-L (a) LISTSERV. UGA. EDU Oggetto: Re: Re: Conversione Cobol PIC a SAS informats L'altra parte che entra in gioco è ciò che la piattaforma (s) si sarebbe riferendo. Si tratta di un mainframe o mini piattaforma, cioè EBCDIC o ASCII o si tratta di file da un EBCDIC ad un sistema ASCII La vera questione è in quale stato (o sapore) sono i dati attualmente in E 'EBCDIC EBCDIC e rimanendo, o EBCDIC scaricato a un piattaforma di ASCII e ha il file già stato convertito da EBCDIC a ASCII Se cominciamo con il più tardi, già convertiti in ASCII poi i byte e stuzzichini per il PD o campi ZD sono già stati corrotti. vale a dire non si desidera che i valori di byte EBCDIC mappati per il set di caratteri ASCII. si desidera loro di rimanere intatto se andare a una piattaforma ASCII. Per fare questo download dalla piattaforma EBCDIC alla piattaforma ASCII con FTP e modificare la modalità da ASCII a binario che indica FTP di non convertire, ma per uscire da tutti i byte come è nel file. Poi i formati S370xxx funzionano solo grande, e per afferrare gli altri pezzi di testo basta usare EBCDIC. informat per alternare pezzi di testo (mappa) il carattere. Ancora più importante, se si può fare una discarica o in qualche modo dare una piccola utility per visualizzare i valori di byte sulla piattaforma originale, è possibile vedere visibilmente le cifre sgranocchiare (mezzo byte) e vedere il numero reale e la lettera di bandiere per il segno bocconcino, ecc si può seguire questa fino alla macchina di destinazione e vedere se avete i byte originali o posto se una conversione indesiderata ha già preso. Naturalmente, ci possono essere qualcos'altro in gioco qui per voi, ma in genere, se si mantiene il sapore del file dritto e utilizzare i informats in scatola, di solito funziona bene. Spero che questo è utile. Mark Terjeson anziano Analista Programmatore, leader IMampR Russell Investment Group Russell Global nell'investire multi-manager ----- Messaggio originale ----- Da: SAS (r) Discussione mailto: SAS-L (a) LISTSERV. UGA. EDU per conto di sdlenter Sent: Giovedi 14 settembre, 2006 09:57 a: SAS-L (a) LISTSERV. UGA. EDU Oggetto: Re: Conversione Cobol PIC a informats SAS che aiutano realmente didn039t. è come il PD quotTerjeson, Markquot ha scritto: Ciao gt, gt gt Vedere le SAS Informat S370FPDw. d per COBOL 9 (n) Vedere la SAS Informat GT S370FZDw. d per COBOL S9 (n) gt gt gt gt Spero che questo è utile. gt gt gt Mark Terjeson gt Senior Analyst Programmer, IMampR gt Russell Investment Group gt gt gt gt Russell Global Leaders in multi-manager Investire gt gt gt gt gt gt gt ----- Original Message ----- GT da: SAS (r) Discussione mailto: SAS-L (a) LISTSERV. UGA. EDU per conto di GT sdlenter gt Inviato: Mercoledì 13 settembre 2006 15:00 GT: SAS-L (a) LISTSERV. UGA. EDU gt Oggetto: Conversione Cobol PIC a SAS informats gt gt Come faccio a convertire i seguenti: gt IMMAGINE S9 (05) V99 COMP-3 gt IMMAGINE S9 (11) V99 COMP-3. gt IMMAGINE S9 (11) COMP-3. gt IMMAGINE S9 (13) COMP-3. gt IMMAGINE S9 (05) COMP-3. gt IMMAGINE S9 (03) COMP-3. gt IMMAGINE S9 (15) COMP-3. gt gt IMMAGINE S9 (04) COMP. gt IMMAGINE S9 (18) COMP. Reading COBOL Layout questo tutorial su come leggere un layout COBOL è stato scritto appositamente per i nostri clienti che hanno avuto una conversione eseguita a disco Interchange e hanno ricevuto un layout COBOL con i dati. Esso è destinato a dare informazioni sufficienti per leggere i layout più semplici. Non copre tutti gli argomenti o tutto ciò che ci si trova in un layout complesso, ed è destinato a spiegare i layout COBOL solo in modo da poter utilizzare i dati convertiti, non così è possibile scrivere programmi COBOL. Questo articolo inizia qui: lettura COBOL layout, dove troverete anche un indice degli argomenti. Parte 4: i campi numerici questa sezione descrive diversi tipi di dati numerici e la gestione dei segni e punti decimali. Indice di questa sezione: necessità di convertire i campi numerici Quello è il nostro COBOL azienda ha diversi tipi di campi numerici. Questi tipi di dati comprendono un campo di visualizzazione, che è composto di caratteri (i caratteri EBCDIC o ASCII per 0-9), campi binari, campi imballati, e campi in virgola mobile. Ci sono anche opzioni per un separato o - segno o un segno overpunch, e per decimali reale o implicita. Il tipo di dati è specificato dalla clausola di utilizzo è. L'utilizzo è Clausola Vi è in realtà più per l'affermazione dell'immagine rispetto weve descritto in precedenza. C'è una clausola di utilizzo è che specifica il tipo di archiviazione di un campo numerico - visualizzazione, binario, o di calcolo. La sintassi completa, tramite un esempio, è: che indica di memorizzare il campo nel formato computazionale-3. L'utilizzo è parte è facoltativo e generalmente lasciato, e computazionale può essere abbreviato COMP, quindi sarà più comunemente vedere questo scritto I tipi di campi numerici si comunemente vedere nei layout COBOL sono: Display (compresi i campi firma) Binary computazionale, o comp Comp-1 Comp-2 Comp-3 display, compresi i campi firmato o Sottoposto a zonizzazione, è il più comune, e comp-3 è il secondo tipo più comune di campo numerico. Alcuni compilatori possono anche avere tipi comp-4 e comp-5 di dati, di solito per emulare bozzetto su un altro compiler. Usage è formato Display è l'impostazione predefinita per i numeri in COBOL. Se si è specificato alcun utilizzo clausola, il valore predefinito è uso è del display, il che significa che il valore viene memorizzato come caratteri EBCDIC (cifre), al contrario di binario. Il valore può o non può avere un decimale - implicito o reale - e può essere firmato o hanno un o un segno distinto incorporato - che può essere sia iniziali o finali. L'impostazione predefinita firmato campo formato di visualizzazione contiene un segno finale incorporato, ed è comunemente chiamato firmati, o IBM firmati, o un campo suddivisa in zone. Questo tipo di dati è descritta di seguito. Firmato campi c'è un tipo di dati numerici comune usato in COBOL su mainframe IBM chiamati Firmato (chiamato anche IBM ha firmato, oppure a zone). COBOL rappresenta questo tipo di campo da parte di un S nella clausola immagine di un campo formato di visualizzazione, ad esempio, PIC S9 (6). Un campo Firmato è composta da normali caratteri numerici EBCDIC, uno per byte, per tutte le cifre tranne quello che tiene il segno, sia il più significativo (segno di primo piano) o il meno significativo (segno finale) cifre - di solito il digit meno significativo. La cifra che tiene il segno combina, o sopra colpisce il segno del numero su quel cifre. Ciò consente di risparmiare un byte che il segno sarebbe altrimenti occupare. Il valore di tale cifra è memorizzato come un valore binario, ed è ord con il codice di segno, che è D0 esadecimale per i numeri negativi, C0 esadecimale per valori positivi, e hex F0 per valori senza segno. A causa della overpunch, la cifra che tiene il segno non apparirà come un numero quando il campo viene visualizzato in modalità carattere EBCDIC. Se si dispone il campo e visualizzare un valore di 1,23 con un editor EBCDIC, si leggerà 0000012c. compilatori ASCII COBOL anche utilizzare un tipo di dati Firmato con un overpunch, ma i bit di segno sono diverse e non standardizzate tra i compilatori. Vedi la nostra breve Tech-Talk Firmato campi per ulteriori dettagli su entrambi EBCDIC e campi ASCII Signed. Segno è COBOL firmato campi separati incorporare il segno del valore di default (vedi campi contrassegnati di cui sopra). Ma vi è una disposizione in COBOL per un segno separata, e può essere sia iniziali o finali. L'affermazione di questo è Questo può essere combinato con la clausola iniziale o finale: Questa istruzione può essere applicata a un elemento elementare (campo) o per l'intero record. Computazionale e campi binari Poiché i computer eseguono i calcoli con i numeri binari, è più efficiente per memorizzare i valori nel file nella loro forma nativa binaria che a memorizzarli nella base di leggibile dieci. Se il numero è memorizzato nel suo formato binario nativo può essere l'input dal file e utilizzato direttamente. Se la sua memorizzata in un formato di dieci di base che deve essere convertito in binario prima di eseguire calcoli su di esso, poi riconvertito in base dieci per immagazzinaggio. COBOL definisce diversi tipi di dati binari. Vi elenco un breve riassunto qui, e è possibile trovare ulteriori dettagli in COBOL computazionale Campi e in COBOL Comp-3 campi pranzo. Prima di iniziare, c'è un punto importante da capire: Lo standard COBOL lascia l'effettiva attuazione dei tipi di dati più al venditore che ha scritto il compilatore COBOL. La ragione di questo è perché diversi computer - CPU - utilizzano diverse rappresentazioni binarie internamente e funzionano meglio con il proprio tipo di numeri binari. Questo approccio si traduce in compilatori migliori e più veloci, ma provoca anche la confusione, perché un tipo di dati bozzetto su una macchina non è necessariamente la stessa comp su un'altra macchina. Nella tabella seguente sono elencati gli usi comuni non tutti i compilatori seguiranno questi tipi. Per maggiori dettagli su ordine delle parole e dei segni vedi il link qui sopra. Quali dati tipo un campo utilizza per l'archiviazione è determinata dal utilizzo è clausola la definizione del campo, e nella maggior parte dei casi il numero di byte di memoria è determinato dal numero di cifre della PIC. numeri a virgola mobile seguono formati binari standard e come tale loro dimensioni non sono determinate da un PIC, e nessun PIC è utilizzata nella definizione di campo. Descrizione di decimale imballato come questo tipo di dati sono memorizzati è generalmente implementato come comp-3. Vedere comp-3. Durante la lettura di una specifica campo binario o comp, le dimensioni elencate nel PIC è il numero di cifre decimali dopo il numero viene convertito da binario a base dieci. Nel caso di un campo imballato, la sua la dimensione dopo l'estrazione. Veri programmatori decimale maggior parte dei PC tendono a pensare in termini di vera e propria decimale nei valori numerici. Su un PC, se si dispone di un campo di dollari e centesimi per, diciamo, totale della fattura, per un importo di 123.45, il file conterrà i sei byte 123.45 (e probabilmente un segno). In altre parole, vi è un vero punto decimale nel file. COBOL può fare anche questo, tramite il seguente: O: La presenza della. nel PIC provoca una vera decimale nel file. decimale implicita, tuttavia, è molto più comune in COBOL. Decimale implicita decimale implicita significa semplicemente c'è un punto decimale implicita in una posizione specificata in un campo, ma non effettivamente memorizzata nel file. La posizione del decimale implicita viene indicato da una V nel PIC. Utilizzando decimale implicita di risparmiare spazio nel file. decimale implicita può essere applicata a qualsiasi tipo di campo numerico, tra cui un sacco, o comp-3 campo. Ad esempio, è un campo decimale implicita. Ci sono 6 cifre, quindi un decimale implicita - il V - e altre 2 cifre, per un totale di 8 cifre. Il campo è di 8 byte di dimensioni non c'è. nel file - la posizione del punto decimale è implicato per essere tra il (6) 9 e il 99. Se il campo contiene 00.000.123 poi il saldo del conto è 1,23, perché c'è un decimale implicita tra i dollari e centesimi. Sincronizzazione e Allineamento questo argomento è un po 'coinvolta per questo tutorial, ma si dovrebbe essere a conoscenza di esso. Quando si utilizza lo stoccaggio binario (binary e comp) alcuni compilatori su alcune macchine possono richiedere che un campo numerico iniziare su alcuni di confine. Ad esempio, su una macchina a 32 bit, si può richiedere che un campo comp iniziare su un limite di 32 bit. Se si specifica un campo comp nel bel mezzo di un record, e non accade per iniziare su un limite di 32 bit (4 byte), il compilatore allinearlo a un limite di 32 bit per sincronizzarlo. Che cosa è in realtà memorizzati nel file non può essere lo stesso le foto sul layout indicano. Questo non è un problema molto comune, in parte perché i campi binari e comp non sono molto comuni nei file, ma si dovrebbe essere a conoscenza di esso. Informazioni aggiuntive Per ulteriori articoli sulla conversione dei dati, vedere la nostra TechTalk Index. Il nostro COBOL Servizi di conversione del disco Interchange Service Company in grado di convertire la maggior parte dei tipi di dati numerici, compresi tutti i tipi di dati EBCDIC IBM mainframe, e la maggior parte dei tipi di dati ASCII da sistemi UNIX e PC. La nostra biblioteca di routine di conversione ci permette di gestire quei lavori difficili che i compilatori COBOL standard di smussano convert. S9 (9) COMP e S9 (8) COMP S9 (9) COMP e S9 (8) COMP Ciao a tutti, che cosa è il numero massimo che può essere schiacciato in due diversi campi foto in alto, e in che modo l'opzione del compilatore TRUNC (BINOPTSTD) incidono su di esso. Il motivo che mi chiedo è che sto lavorando con un prodotto chiamato HPS che definisce i suoi campi intero come S9 (8) COMP, e poi si sposta in un campo di DB2 intero, che è S9 (9) COMP. C'è una preoccupazione che i due sono incompatibili. RE: S9 (9) COMP e S9 (8) COMP k5tm (programmatore) 23 2 Luglio 11:46 Prima recensione Thread209-205700 dove ho risposto alla domanda di quante cifre decimali possono essere rappresentati da 31 cifre binarie. Naturalmente, il troncamento di serie è fatto su confini decimali, indipendentemente dalla rappresentazione dei dati sottostanti. La mia ipotesi è che non avrete problemi di movimento S9 (8) a S9 (9) in una qualsiasi delle opzioni TRUNC. Se la mossa fosse nell'altra direzione, ci sarebbero differenze. In ogni caso, sembrerebbe che TRUNC BIN sarebbe più sicuro per il vostro problema, ammesso che non provoca effetti collaterali indesiderati. RE: S9 (9) COMP e S9 (8) COMP Tom, ho letto il filo. E poi ho letto di nuovo. Dopo aver preso un paio di compresse e di avere una bugia in giù, ho avuto un altro andare e Im ancora non sicuro di aver capito So che comp S9 (8) e comp S9 (9) occupano lo stesso storage (parola completa) e Im consapevoli del fatto che con l'opzione TRUNC (BIN) del compilatore, il troncamento non dovrebbe verificarsi come sarebbe con TRUNC (STD). Ho l'impressione che con un campo d'S9 (4) vi è un numero massimo che il campo può contenere, che con il vostro esempio nel thread, è 32043. E 'questo lo stesso per comp S9 (89) e sono quei valori diverso Credo che la domanda che Im chiedendo è che se ho riempito la (9) campo bozzetto S9 con il valore più grande che potrebbe richiedere, e si è trasferito a un (8) campo S9, sarebbe rimanere la stessa speranza valore di questo ha un senso , e vi prego di perdonare la mia ignoranza in RE anteriore matematica: S9 (9) COMP e S9 (8) COMP Dimandja (programmatore) 23 2 Luglio 19:50 la mia comprensione di S9 (9) COMP e S9 (8) COMP è COBOL sarà manipolare qualsiasi numero fino a rispettivamente -999.999.999 e -99.999.999. Per quanto riguarda il confronto interi in COBOL PIC 9s: COBOL PIC 9 (4) COMP max 9.999 COBOL PIC 9 (5) COMP max 99.999 COBOL NATIVE-2 max 65.535 16 bit Integer max 65.535 COBOL PIC 9 (8) COMP max 99.999.999 COBOL PIC 9 (9) COMP max 999.999.999 COBOL NATIVE-4 max 4,294,967,295 32 bit Integer max 4,294,967,295 RE: S9 (9) COMP e S9 (8) COMP Dimandja (programmatore) 24 2 Luglio 06:20 COBOL PIC 9 (4) COMP max 9.999 COBOL PIC 9 (5) COMP max 99.999 COBOL NATIVE-2 max 32.767 16 bit Integer max 32.767 COBOL PIC 9 (8) COMP max 99.999.999 COBOL PIC 9 (9) COMP max 999.999.999 COBOL NATIVE-4 max 2,147,483,647 32 bit Integer max 2,147,483,647 RE: S9 (9) COMP e S9 (8) COMP k5tm (programmatore) 24 2 Luglio 10:05 Spero che non ho confondere troppo. Per ribadire: Lei ha affermato che il problema stava muovendo PIC S9 (8) per PIC S9 (9). Secondo le regole di troncamento decimali, questo non dovrebbe causare problemi. Allo stesso modo, sotto il troncamento binario, non penso ci sia un problema. Se si dispone di dati in senso contrario, da 9 (9) a 9 (8), allora avete sicuramente possibile troncamento decimale. troncamento binario non dovrebbe essere un problema, anche se io non sono un esperto sulla vostra particolare compilatore. RE: S9 (9) COMP e S9 (8) COMP Crox (programmatore) 24 2 Luglio 12:03 Tenta di utilizzare COMP-5 invece di COMP. Si lavorerà lo stesso per lo stesso allocazione dello storage. Leggi il manuale su di esso COMP-5 è quasi sempre meglio di COMP. RE: S9 (9) COMP e S9 (8) COMP Tutto, non posso utilizzare Comp-5 come su uno aveva Ive ottenuto un tavolo DB2 e la sua definizione dclgen, e dall'altro, la definizione HPS, che non sono 100 stesso . Im su un manframe e sto usando una piattaforma di compilazione Xpediter che credo sia utilizzando cobol370, anche se Im non positivo su questo. C'è, ovviamente, non è un problema che va da 9 (8) comp a 9 (9) e sto cominciando a formare l'impressione che il valore massimo per il 9 (9) comp è la stessa di 9 (8) comp utilizzando un TRUNC (BIN ) compilazione opzione. Credo che Dimandja ce l'ha ragione nel dire che il massimo per una mezza parola è 32767 e il massimo per una parola completo è 2.147.483.647. Penso che sia 9 (8) e 9 (9) comp terrà questa massima, anche se Im aperto a essere convinto altrimenti su questo se qualcuno mi la matematica può mostrare. Credo che avrei potuto battere un programma che sposta i valori ai campi rilevanti e vedere cosa succede. Sono sicuro che Ive fatto questo con le 32767 molti anni fa, e si ottiene un fine anormale. Tenterà domani e riferire, a meno che qualcuno conosce il contrario. Marc RE: S9 (9) COMP e S9 (8) COMP Slade (programmatore) 24 2 Luglio 21:44 Ive ha presentato la seguente come dato di fatto, perché sembra più chiaro senza tutti i se e maybes e perhapes, ma non sono sicuro se il suo vero. Id piace sentire cosa ne pensate. Non so se questo punto è stato affrontato, ma il calcolo della capacità di un mezzo di parola, una parola o doppia parola dipende da se il campo viene descritta come l'opzione TRUNC selezionata al momento della compilazione con o senza segno e. Come ricordo il segno utilizza il bit di ordine alto del campo, riducendo la capacità. Supponendo TRUNC (BIN), una mezza parola campo COMP definito come PIC 9 ha la capacità di contenere un valore fino a 65.535 decimale (xFFFF) lo stesso campo, definito come PIC S9, può contenere un valore fino a 32.767 decimale (X7FFF). RE: S9 (9) COMP e S9 (8) COMP Dimandja (programmatore) al 25 2 Luglio 15:53 ​​Questo è dal mio manuale COBOL85 (TandemCompaqHP): Gli intervalli di valori per tipi nativi-2 (16 bit), NATIVE-4 (32 bit), e nativo-8 (64 bit) sono: tipo limite inferiore limite superiore NATIVE-2 -32768 32767 NATIVE-4 -2147483648 2147483647 NATIVO-8 -9223372036854775808 9223372036854775807 Gli intervalli di valori per il tipo computazionale 5 sono: PIC S9 (1) - PIC S9 (4) equivalente è nativo-2 32.768 a 32.767 (firmato) o da 0 a 65.535 (non firmato) PIC S9 (5) - PIC S9 (9) NATIVE-4 -2,147,483,648 attraverso 2,147,483,647 (firmato ) o 0 tramite 4,294,967,295 (non firmato) PIC S9 (10) - PIC S9 (18) NATIVE-8 -9,223,372,036,854,775,808 attraverso 9,223,372,036,854,775,807 (firmato) o 0 tramite 18,446,744,073,709,551,615 (non firmato), che dovrebbe chiarire le cose un po '. RE: S9 (9) COMP e S9 (8) COMP Ciao a tutti, prima di tutto grazie mille a tutti voi perché youve tutto aiutato in un modo o nell'altro, ma sento che i messaggi Dimandjas sono stati i più utili in modo ho intenzione di dare D un stella. questo è speranza ok con il resto di voi La cosa che amo di questo gioco è che non importa quanto tempo sei stato a farlo, c'è sempre qualcosa di nuovo da scoprire, anche se si può avere toccato su di esso anni fa. Ho avuto il bug su questo problema quando qualcuno ha proposto come un problema il Lunedi. Il sistema di impostare un valore in un Pic S9 (8) campo comp e spostato in una db2 S9 (9) campo bozzetto in una tabella e la tabella è stata aggiornata. Lo scenario mi è stato presentato con era che stava causando un problema di produzione, come i grandi valori sono stati sempre nella tabella che couldnt successivamente essere letto utilizzando il (8) campo S9 come chiave. Mi è stato detto che TRUNC (BIN) è stato utilizzato. Il mio primo argomento era che se era sempre provenienti dalla S9 (8) campo bozzetto shouldnt essere un problema. Mi è stato detto che questo non sembrava essere il caso. Ho ancora avuto la sensazione che questo shouldnt essere un problema in quanto ero sicuro che il numero di cifre specificato nel formato campo è stato irrilevante quando TRUNC (BIN), in quanto vi era un valore massimo a metà parola, parola, ecc I messaggi qui genere di confermato il mio pensiero, Dimandjas specifico. Così oggi, ho scritto un programma per spostare i vari valori di diversi campi. I risultati di tipo mi ha sorpreso. Mi sono trasferito a un 32768 S9 (4) campo COMP e guardai il valore. Conteneva -32768. Diversi valori più alti spostati al campo ha prodotto vari numeri più bassi negativi. Ho segnalato i miei risultati, e cioè che S9 (8) COMP e S9 COMP (9) quando viene utilizzato con l'opzione TRUNC (BIN) conterrebbe esattamente lo stesso valore massimo, solo per sentirsi dire. Oh no, il ponte di compilazione è TRUNC (STD). - Che non causare un problema Per riassumere tutto questo: TRUNC (STD) seguirà il PIC si definisce, in modo S9 (4) COMP consentirà un massimo di 9999 e un minimo di -9999 TRUNC (BIN) darà: S9 a S9 (4) COMP -32.768-32.767 S9 (5) a S9 (9) COMP -2147483648 2147483647 rimuovere il segno di questa opzione modifica il ventaglio di: 9-9 (4) COMP 0 a 65535 9 (5) a 9 ( 9) COMP 0 a 4.294.967.295 ancora una volta, grazie per tutto il vostro aiuto. MarcA1 PIC X40841 valore 1. A2 s940841 Comp ridefinisce A1. (Valore esadecimale in A1 30 30 30 30 30 30 30 31) (valore esadecimale in A2 30 30 30 30 00 00 00 01) Il suo esempio di definizione per A1would contenere il carattere 1 seguito da sette spazi vuoti. Il REDEF di A1 A2 sarebbe ridefinire solo i primi quattro caratteri di A1, non l'intero otto byte di A1. Il valore esadecimale in A1 sarebbe XF140404040404040. Il valore esadecimale in A2 sarebbe XF1404040. Il valore numerico di A2 sarebbe 4047519808. Non ho idea di come avete ottenuto i valori ASCII in A1. Non ho idea di come si è arrivati ​​il ​​valore da 1 a destra giustificare e spazi vuoti iniziali convertiti in zeri. Non ho idea di come il vostro REDEF riuscito a spostamento a destra quattro byte. Come si è visto sopra del valore in A2 non è numerico in quanto ha x00 (es. NULL) I valori nulli di A2 sono numerici comp, insieme con la finale 01. La mia esigenza è quello di ottenere 30 30 30 30 30 30 30 31 in A2. in modo che posso usare per operazioni numeriche Supponendo di avere validi decimale a zone in A1 e vuole veramente A2 per contenere COMP valida valori (binari), vedi sopra Se davvero dire A2 per contenere valide le cifre a zone decimali da utilizzare per le operazioni numeriche, rimuovere il COMP nel REDEF A2. Nota: E 'obbligatorio per me di utilizzare una variabile comp. Perché è obbligatorio Couldnt si utilizza imballato decimale o è questo codice viene eseguito su un computer che non supporta nativamente l'istruzione decimale imballato Pls lo ha lasciato sapere se più informazioni sono necessarie da parte mia. Inizialmente, solo le risposte alle domande di cui sopra.

No comments:

Post a Comment