bonjour,
j'ai les variables suivantes :
comment faire pour remplir les n premiers octets de buffer avec la valeur de cpt ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 byte[] buffer = new byte[bSize]; long cpt;
merci d'avance,
bonjour,
j'ai les variables suivantes :
comment faire pour remplir les n premiers octets de buffer avec la valeur de cpt ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 byte[] buffer = new byte[bSize]; long cpt;
merci d'avance,
C'est à dire ? Tu souhaites découper le "long" en 8 octets et les placer dans le tableau ?
Alors regarde la documentation sur les opérateurs de décalages de bits ">>" et "<<" ainsi que le ET binaire "&".
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Que la force de la puissance soit avec le courage de ta sagesse.
ok merci,
les bits de poids fort sont forcement à gauche (quelque soit la plateforme ?) ?
?
À toi de voir si tu veux les mettre en big-endian ou en little-endian. Ça peut être l'un ou l'autre, mais tu dois en décider un, et utiliser le même partout pour transformer tes long en byte[] et tes byte[] en long.
Un long, par contre, c'est un long. Ses bits de poids forts ne sont ni à gauche, ni à droite, ils sont ses bits de poids fort. Et par conséquent, il fonctionne pareil sur toutes les plate-formes, oui. (Une propriété bien connue de Java.)
... C'est le cas, justement...
Mais c'est toi qui as raison, on parle normalement de décalage à gauche ou de décalage à droite. Et oui, les bits de poids fort sont toujours à gauche. (Ce qui est aussi le cas dans tous les langages munis de ces opérateurs, quelle que soit la plate-forme.)
Partager