Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Problema output IJVM

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    760

    Problema output IJVM

    Vorrei chiedere una cosa agli esperti del forum,ho un problema,posto ad esempio un semplice esempio.
    Quando mi stampa il risultato della somma o della differenza,non "rispetta" se è un tipo di valore o un altro,ad esempio x=3 e y=4 e la somma IADD da "g" che è 7 ,ma in un altro "alfabeto",come posso risolvere?
    Grazie in anticipo
    codice:
    .constant
    .end-constant
    
    .main
    .var
    x
    y
    z
    diff
    .end-var
    /////LAVORO///x///
    BIPUSH 0x35
    DUP
    ISTORE x
    OUT
    //////////
    BIPUSH 0x20
    OUT
    /////y/////
    BIPUSH 0x32
    DUP
    ISTORE y
    OUT
    //////////
    BIPUSH 0x20
    OUT
    /////z/////
    BIPUSH 0x37
    DUP
    ISTORE z
    OUT
    ////////////////////////////////
    BIPUSH 0x0A
    DUP
    OUT
    //////////
    BIPUSH 0x0A    // A CAPO
    DUP
    OUT
    //////////
    
    //////////OPERAZIONI/////1/////
    ILOAD x
    ILOAD y
    ISUB
    ISTORE diff 
    ILOAD diff
    OUT
    ILOAD z
    IF_ICMPEQ l1
    ILOAD x
    ILOAD y
    IADD 
    OUT
    GOTO fine
    L1:
    ILOAD x
    ILOAD y
    ISUB 
    OUT
    GOTO fine
    fine:HALT
    .end-main

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    760
    ragazzi,nessuno mi può risolvere questo problema?è molto importante

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ma di che linguaggio stiamo parlando ? Non sai che devi sempre indicarlo ?

    E che vuol dire "in un altro alfabeto" ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    760
    scusa oregon,non lo avevo indicato,è IJVM,
    il mio problema è che ad esempio 3*2 invece di 6 mi da "f".....,per quello intendevo alfabeto.....è la sesta lettera dell' alfabeto,ma non è un intero

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Il fatto e' che non devi lavorare in ASCII ...

    Prima di effettuare dei calcoli, i valori vanno convertiti da ASCII a binario ... ad esempio

    '5' che in ASCII vale 35 (esadecimale) va convertito in 05 (esadecimale)

    Poi effettui l'operazione (avrai ad esempio 05 + 02 = 07) e all'ultimo trasformi nuovamente da binario ad ASCII ... da 07 a 37 (esadecimale) che rappresenta il carattere '7' da visualizzare ...

    Ovviamente la faccenda diventa un po' piu' "articolata" per valori oltre 10 decimale ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    760
    oregon,sei stato molto gentile,il fatto è che quindi devo usare un algoritmo per convertire il valori prima e dopo,giusto?
    In quel caso sai se c' è qualcosa di "già pronto" in rete?So che non è una domanda corretta da fare,ma preferirei indirizzarmi su algoritmi più pratici.....evitando le noiose conversioni
    nel caso di numeri >10 come mi dovrei comportare,era una domanda che pensavo di farti più avanti e mi hai anticipato.....

    Grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.