Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1

    [C] Qual'è il risultato?

    Ciao!

    Supponiamo che io dichiari due variabili:

    signed long A;
    unsigned short B;

    supponiamo che assegni ad A un certo valore espresso in esadecimale.

    Cosa si ottiene dalla seguente operazione?

    B = (t_uword)A;

    Grazie per l'aiuto.

    My space! Voglio Arthur!!!
    Ho fatto strike!!!
    dotty78

    Prima di postare in “XML, XSL, Smil” dai uno sguardo ai Link utili!

  2. #2
    ops... ho riportato il typedef....

    invece di

    B = (t_uword)A;

    vedete la seguente scrittura:


    B = (unsigned short) A;
    My space! Voglio Arthur!!!
    Ho fatto strike!!!
    dotty78

    Prima di postare in “XML, XSL, Smil” dai uno sguardo ai Link utili!

  3. #3
    dichiarare una variabile come
    signed long Asigned long A significa dichiare una variabile intera con segno di lungezza massima, cioe long int A, A potra contenere sia numeri positivi che negativi, al max 31 bit perche iul 32 verra usato per indicare il segno, positivo (0) negativo (1).

    unsigned short B significa dichiare una variabile sempre di tipo int, ma di 16 bit senza segno, cioe puo conentenre solo numeri positivi di max 16 bit

    Ma il C e molto permmissivo e percio anche se tu dichiari una variabile di tipo unsigned short e poi usi un valore negativo o piu grande di 16 bit lui in automatico affettuera una conversione ad un tipo piu' grande di quello....

    fare un operaziopne tipo b = (float) c/a significa che il risultato della divisione verrra salvato temporanemanete coem tipo float e poi assegnato a b, altrimenti la divisione avrebbe auto un risultato intero perche (supposto c ed a interti)



    bye bye spero di essere stato chiaro e di averci indovitao

  4. #4
    Se, quindi, assegno ad A il seguente valore:

    A=0xD2;

    dopo il casting avrò:

    B=0xD
    My space! Voglio Arthur!!!
    Ho fatto strike!!!
    dotty78

    Prima di postare in “XML, XSL, Smil” dai uno sguardo ai Link utili!

  5. #5
    [supersaibal]Originariamente inviato da dotty78
    Se, quindi, assegno ad A il seguente valore:

    A=0xD2;

    dopo il casting avrò:

    B=0xD [/supersaibal]
    NO! Prova per vedere.. perche non so cosa ti succede.. ma sicuramnte non puoi assegnare un valore esadecimanle ad una variabile che puo contenrere numeri interi....... O meglio tu assegni quello ma poi chissa cosa lui scrivera im memomria.. per saperlo prova...


    ma nom lo pupi fare perche la var accetta valori interi e non esadecimali.. magari lo puoi inserire in una variabile char come testo.... ma noin in un int.....

  6. #6
    Considera che A=210

    210 in base esadecimale è D2 e in base 2 equivale a 11010010.

    Allora in B cosa ci andrà?

    B=D

    B=2

    :master:
    My space! Voglio Arthur!!!
    Ho fatto strike!!!
    dotty78

    Prima di postare in “XML, XSL, Smil” dai uno sguardo ai Link utili!

  7. #7
    [supersaibal]Originariamente inviato da FreeManX
    ma nom lo pupi fare perche la var accetta valori interi e non esadecimali.. [/supersaibal]
    Ehm, hai detto una cosa errata.

    Un valore esadecimale può essere benissimo considerato un intero, solo che è espresso in base 16.
    Qualsiasi assegnazione numerica può essere fatta in C utilizzando le basi 8, 10, 16.

  8. #8
    [supersaibal]Originariamente inviato da dotty78
    Considera che A=210

    210 in base esadecimale è D2 e in base 2 equivale a 11010010.

    Allora in B cosa ci andrà?

    B=D

    B=2


    :master: [/supersaibal]
    Se a e b sono due Int, se tu assegni a B =A b varra 210!!!


    Senti spega cosa voi fare cosi magari vediamo... se le var RIPETO sono int accettano solo numeri decimali....

  9. #9
    [supersaibal]Originariamente inviato da FreeManX
    Senti spega cosa voi fare cosi magari vediamo... se le var RIPETO sono int accettano solo numeri decimali.... [/supersaibal]
    E due!

    Non è vero, hai una informazione errata.
    Puoi assegnare un valore numerico ad un int utilizzando le basi 8, 10 e 16.

  10. #10
    [supersaibal]Originariamente inviato da skidx

    Ehm, hai detto una cosa errata.

    Un valore esadecimale può essere benissimo considerato un intero, solo che è espresso in base 16.
    Qualsiasi assegnazione numerica può essere fatta in C utilizzando le basi 8, 10, 16. [/supersaibal]
    E gli e lo mantiente come esadecimale.. o gli e lo converte in decimalke???





    (sapevo di cannare.. e da poco che studio il c)

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.