Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1375 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  décalage sur un tableau de byte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

décalage sur un tableau de byte

n°2204752
iimee
Posté le 30-09-2013 à 20:39:42  profilanswer
 


Bonjour!
 
Je souhaiterai réaliser l'opération suivante ( en C# )  : T << 1 sauf que T est un tableau de byte et je ne vois pas comment réaliser le décalage :s ( j'ai fais plusieurs tests et aucun n'est vraiment concluant :( )
 
Faut-il que je convertisse le tableau en int avant ?
 
 
Merci !!
 

mood
Publicité
Posté le 30-09-2013 à 20:39:42  profilanswer
 

n°2204883
ixemul
Nan mais sans blague ! ⚡
Posté le 01-10-2013 à 14:08:57  profilanswer
 

Tu veux décaler quoi exactement ? chaque octet de ton tableau un par un ou la représentation numérique  formée par chaque octet du tableau ?

Message cité 1 fois
Message édité par ixemul le 01-10-2013 à 14:09:10

---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2204886
iimee
Posté le 01-10-2013 à 14:14:58  profilanswer
 

ixemul a écrit :

Tu veux décaler quoi exactement ? chaque octet de ton tableau un par un ou la représentation numérique  formée par chaque octet du tableau ?


 
la représentation numérique formée par chaque octet du tableau

n°2204897
ixemul
Nan mais sans blague ! ⚡
Posté le 01-10-2013 à 14:56:50  profilanswer
 

ça tombe mal, le résultat est le même [:dpenche]
 
Le soucis que tu risque de rencontrer est fonction de la taille de ton tableau d'octet.
 
Si la taille est inférieure à 4 alors tu peux passer par une conversion en Int32 (ou taille 8 avec conversion en Int64)
 
comme ça :
 

Code :
  1. BitConverter.GetBytes((BitConverter.ToInt32(T,0) << 1))


 
Sinon, si le tableau est de taille "inconnu" ou variable, il faut décaler chaque valeur une par une
 

Code :
  1. for (int i = 0; i < bval4.Length; i++)
  2.                 bval4[i] = (byte)((int)bval4[i] << 1);



---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°2205037
breizhbugs
Posté le 02-10-2013 à 11:15:09  profilanswer
 

Si c'est bien un décalage bit a bit, dans ton dernier code, bval4[i] va cycler sur lui même, or il veut (je crois) décaler les bits vers bval4[i-1] et récupérer ceux de bval4[i+1] et de mettre à la fin les bits de bval4[0]...
Sinon si c'est comme j'avais compris, décaler le nombre val[i] pour le mettre à val[i-1], alors j'avais proposé une simple boucle for: http://fr.openclassrooms.com/forum [...] u-de-bytes


Message édité par breizhbugs le 02-10-2013 à 11:18:06

---------------
Seul Google le sait...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  décalage sur un tableau de byte

 

Sujets relatifs
Comparer deux listes en multicritèresTableau de réservations
Etirer la formule de plusieurs lignes jusqu'en bas de mon tableauBoucle FOR et tableau
vérification présence valeur dans tableau associatifphp problème tableau suite requête MySQL [résolu]
mail html tableau décaléremplir un tableau HTML avec des variables JS
séparateur espace sélection tableauRecherche de valeur dans un tableau dynamique
Plus de sujets relatifs à : décalage sur un tableau de byte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR