1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2017
    Messages : 4
    Points : 4
    Points
    4

    Par défaut Problème de conversion

    Bonjour,

    Je m’excuse d'avance si cette question à déjà était posée

    Mon problème est le suivant:

    Je n'arrive pas à convertir un tableau de UINT16 en tableau de byte.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    public static void CreateUInt16DataFile(string dataFileName, Int32 lenght)
                {
     
                    System.Random aleatoire = new Random();
     
                    if (lenght < Int32.MaxValue / 2)
                    {
                        UInt16[] valeur = new UInt16[lenght];
                        byte[] chiffre = new byte[lenght];
     
                        Int32 i;
                        for (i = 0; i < lenght; i++)
                        {
     
                            valeur[i] = Convert.ToUInt16(aleatoire.Next(UInt16.MaxValue));
                        }
     
                       /* foreach (UInt16 s in valeur)
                        {
                            chiffre[s]= BitConverter.GetBytes(UInt16)(s);
                        }*/
     
                        File.WriteAllBytes(dataFileName, chiffre);
                    }
     
                    else
                    {
                        Console.WriteLine("Impossible! Donner un autre chiffre!");
                    }
     
                    Console.ReadKey();
    J'ai testé le convert.ToByte mais une exception est gênée. En cherchant une solution j'ai trouvé BitConverter.GetBytes(UInt16). Le problème est que cette fonction ne fonctionne pas non plus car je ne peux pas convertir un ushort en byte comme ceci. Est ce que vous pourriez m'aider à résoudre mon problème?

    En vous remerciant par avance

    Bonne journée

  2. #2
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Ingénieur .Net
    Inscrit en
    mars 2009
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2009
    Messages : 614
    Points : 1 300
    Points
    1 300
    Billets dans le blog
    9

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     // Convert a ushort argument to a byte array and display it.
        public static void GetBytesUInt16( ushort argument )
        {
            byte[ ] byteArray = BitConverter.GetBytes( argument );
            Console.WriteLine( formatter, argument, 
                BitConverter.ToString( byteArray ) );
        }

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2017
    Messages : 4
    Points : 4
    Points
    4

    Par défaut Réponse

    Bonjour,

    Merci de ta réponse mais cette solution ne fonctionnement pas.
    J'ai une erreur: indice trop petit dans ma boucle foreach

    Bonne journée

  4. #4
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Ingénieur .Net
    Inscrit en
    mars 2009
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2009
    Messages : 614
    Points : 1 300
    Points
    1 300
    Billets dans le blog
    9

    Par défaut

    essaye de mettre ton for comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i = 1; i < lenght+1; i++)

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2017
    Messages : 4
    Points : 4
    Points
    4

    Par défaut Réponse

    Bonjour,

    Merci de ton aide, en faite, j'ai modifier mon programme de tel sorte que j'ai trois tableaux. Le tableau de UInt16, un tableau tampon où j'ai convertie les UInt16 en byte et le tableau final. Dans mon tableau tampon j'ai coupé en deux mon UInt16 et dans mon tableau final j'ai stocké tous les tableaux tampon.

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de conversion de dimension dans BUSINESS OBJECT
    Par greatmaster1971 dans le forum Deski
    Réponses: 4
    Dernier message: 28/04/2014, 13h15
  2. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL-Server
    Réponses: 2
    Dernier message: 06/07/2004, 14h31
  3. Problème de conversion 3DS->.X
    Par JBernn dans le forum DirectX
    Réponses: 5
    Dernier message: 08/04/2004, 19h08
  4. Problème de conversion unicode
    Par djmalo dans le forum C
    Réponses: 5
    Dernier message: 09/03/2004, 11h48
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo