Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Conversione di tipi

  1. #1

    Conversione di tipi

    Ciao a tutti. Ho un grosso problema da risolvere... da un'applicativo in C++ ricevo un byte[] che contiene il valore di un parametro. Tale valore puo' essere di qualsiasi tipo dalla stringa ad un intero fino ad un double. Quando ricevo il parametro dall'applicazione in c++ ricevo anche un identificatore del tipo per poter far la conversione dal byte[]. I tipi possibilili sono un'infinita' e non tutti esistono in java... qualcuno saprebbe aiutarmi nelle conversioni..?? anche se non tutte almeno iniziamo . I tipi sono i seguenti:

    codice:
        public static final int BOOL_TYPE = 1;
        public static final int UINT8_TYPE = 25;
        public static final int INT8_TYPE = 32;
        public static final int UINT16_TYPE = 38;
        public static final int INT16_TYPE = 33;
        public static final int UINT32_TYPE = 39;
        public static final int INT32_TYPE = 36;
        public static final int UINT64_TYPE = 41;
        public static final int INT64_TYPE = 37;
        public static final int DOUBLE_TYPE = 67;
        public static final int STRING_TYPE = 35;
        public static final int BITSTRING_TYPE = 34;
        public static final int UINT48_TYPE = 40;
        public static final int CHAR_TYPE = 42;
        public static final int UINT40_TYPE = 43;
        public static final int CSTRING_TYPE = 62;
        public static final int INT40_TYPE = 63;
        public static final int INT24_TYPE = 64;
        public static final int UINT24_TYPE = 65;

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Conversione di tipi

    Originariamente inviato da rocklife
    qualcuno saprebbe aiutarmi nelle conversioni..?? anche se non tutte almeno iniziamo .
    A parte il char (16 bit) che è unsigned, tutti gli altri tipi numerici interi in Java sono "signed".
    Se hai come sorgente un tipo signed, puoi trovare tipicamente una corrispondenza diretta in un tipo Java, ad esempio INT64 è 64 bit signed e in Java il "long" è appunto 64 bit signed. Pari pari.
    Per altri tipi unsigned non c'è un equivalente diretto in Java ma puoi usare un tipo più ampio sfruttando solo la parte "bassa" che quindi il valore resta unsigned (se però fai calcoli devi mascherare in modo che non esca nulla sui bit alti).

    Per altri come STRING_TYPE, CSTRING_TYPE e CHAR_TYPE devi precisare cosa intendi. Perché per caratteri/stringhe centra il charset/encoding che va precisato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.