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

  FORUM HardWare.fr
  Programmation
  Java

  [Java] cmt ça marche un tableau de byte?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] cmt ça marche un tableau de byte?

n°468175
Scoubidoo
In reblochon we trust
Posté le 25-07-2003 à 21:46:40  profilanswer
 

Salut!
 
Je voudrais savoir cmt ça marche exactement un tableau de byte.
comment peux-t'on mettre des données dedans? On fait intervenir de l'hexa?
 
Merci

mood
Publicité
Posté le 25-07-2003 à 21:46:40  profilanswer
 

n°469663
LetoII
Le dormeur doit se réveiller
Posté le 28-07-2003 à 12:53:57  profilanswer
 

:heink:  
 

Code :
  1. byte[] tab = new byte[10];
  2. tab[0] = 2;
  3. tab[1] = 250;
  4. // ...


---------------
Le Tyran
n°470178
Scoubidoo
In reblochon we trust
Posté le 28-07-2003 à 19:47:21  profilanswer
 

On met des int dedans?

n°470182
skeye
Posté le 28-07-2003 à 19:53:16  profilanswer
 

Scoubidoo a écrit :

On met des int dedans?


ben non, des byte... [:skeye]
Mais c'est jamais que des petits int... [:ddr555]

n°470183
gm_superst​ar
Appelez-moi Super
Posté le 28-07-2003 à 19:54:54  profilanswer
 

Scoubidoo a écrit :

On met des int dedans?


Oui, avec un chausse-pied :o
 
Faut forcer un peu mais ça rentre :o


Message édité par gm_superstar le 28-07-2003 à 19:55:19

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°470256
Scoubidoo
In reblochon we trust
Posté le 28-07-2003 à 22:16:15  profilanswer
 

gm_superstar a écrit :


Oui, avec un chausse-pied :o
 
Faut forcer un peu mais ça rentre :o


 
je voulais dire des entiers. C pas de l'hexa dedans?

n°470265
schnapsman​n
Zaford Beeblefect
Posté le 28-07-2003 à 22:30:30  profilanswer
 

Scoubidoo a écrit :


 
je voulais dire des entiers. C pas de l'hexa dedans?


 
tu sais ce que sait l'écriture de nombre en base n?
 
le nombre "seize", c'est "16" en décimal, "10" en hexadécimal, "20" en octal, "22" en base 7, "24" en base 6, "31" en base 5, "100" en base 4, "121" en base 3 et "10000" en binaire  [:calin]  
 
Maintenant un byte à un capacité de 8 bits soit 8^2=256 nombres différents.
 
edit: valeurs  
 [:neowen]


Message édité par schnapsmann le 28-07-2003 à 22:42:29

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°470289
Scoubidoo
In reblochon we trust
Posté le 28-07-2003 à 23:02:00  profilanswer
 

SchnapsMann a écrit :


 
tu sais ce que sait l'écriture de nombre en base n?
 
le nombre "seize", c'est "16" en décimal, "10" en hexadécimal, "20" en octal, "22" en base 7, "24" en base 6, "31" en base 5, "100" en base 4, "121" en base 3 et "10000" en binaire  [:calin]  
 
Maintenant un byte à un capacité de 8 bits soit 8^2=256 nombres différents.
 
edit: valeurs  
 [:neowen]


 
Oui je sais ce que c'est... merci de me le rappeller.  :D (impression de passer pour un beau blaireau  :heink: )
 
En fait, je dois faire un tableau de byte contenant les valeurs ici en hexa :  07, A1, 20. Comment remplir mon tableau?

n°470291
schnapsman​n
Zaford Beeblefect
Posté le 28-07-2003 à 23:03:48  profilanswer
 

Scoubidoo a écrit :


 
En fait, je dois faire un tableau de byte contenant les valeurs ici en hexa :  07, A1, 20. Comment remplir mon tableau?
 


 
c'est connu comme truc, mais bon, on va mettre ça sur le compte de la jeunesse:

Code :
  1. tab[0]=0x07;
  2. tab[1]=0xA1;


 


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°470299
Scoubidoo
In reblochon we trust
Posté le 28-07-2003 à 23:11:22  profilanswer
 

SchnapsMann a écrit :


 
c'est connu comme truc, mais bon, on va mettre ça sur le compte de la jeunesse:

Code :
  1. tab[0]=0x07;
  2. tab[1]=0xA1;


 
 


 
Bah écoute, je suis désolé mais j'ai jamais utilisé les byte en Java (ni en C++ d'ailleurs).
Faut bien apprendre un jour, j'ai pas la science infuse sinon je viendrais pas ici.
 

Code :
  1. byte tab[] = {0x07,0xA1,0x20};


 
Résultat :
MIDI.java:250: possible loss of precision
found   : int
required: byte

 

mood
Publicité
Posté le 28-07-2003 à 23:11:22  profilanswer
 

n°470427
LetoII
Le dormeur doit se réveiller
Posté le 29-07-2003 à 07:18:19  profilanswer
 

J'dore les compilo java qui savent pas interpréter le type des constantes numériques suivant le contexte  [:fuel]  
 
Ste merde le java  :o


---------------
Le Tyran
n°470553
Scoubidoo
In reblochon we trust
Posté le 29-07-2003 à 09:55:24  profilanswer
 

L'erreur se trouve sur "0xA1". Donc je suppose qu'il croit qu'il y a 16 bits au lieu de 8. Même mettant 161, ça ne passe pas.

n°470556
LetoII
Le dormeur doit se réveiller
Posté le 29-07-2003 à 09:56:34  profilanswer
 

Scoubidoo a écrit :

L'erreur se trouve sur "0xA1". Donc je suppose qu'il croit qu'il y a 16 bits au lieu de 8. Même mettant 161, ça ne passe pas.


Essaye OxA1b ou un cast explicite: (byte)0XA1


---------------
Le Tyran
n°470647
chrisbk
-
Posté le 29-07-2003 à 10:52:14  profilanswer
 

LetoII a écrit :


Essaye OxA1b ou un cast explicite: (byte)0XA1


 
 
OxA1b
 
mdr :D :D :D
 
tucrois qu'il fait la difference entre B et b pour les chiffres en hexa ? :D
 
 
(le cats marche mais c'est hyper lourd a la longue)

n°470648
LetoII
Le dormeur doit se réveiller
Posté le 29-07-2003 à 10:53:46  profilanswer
 

chrisbk a écrit :


 
 
OxA1b
 
mdr :D :D :D
 
tucrois qu'il fait la difference entre B et b pour les chiffres en hexa ? :D
 
 
(le cats marche mais c'est hyper lourd a la longue)
 


 
pkoi pas [:spamafote]  
 
En même temps les types atomiques de java sont pouris [:spamafote]  


---------------
Le Tyran
n°470660
chrisbk
-
Posté le 29-07-2003 à 10:59:19  profilanswer
 

LetoII a écrit :


 
 
En même temps java est pouris [:spamafote]  


 
[:meganne]

n°470663
LetoII
Le dormeur doit se réveiller
Posté le 29-07-2003 à 11:00:37  profilanswer
 


Aussi :o


---------------
Le Tyran
n°470760
leonhard
Posté le 29-07-2003 à 11:47:39  profilanswer
 

LetoII a écrit :


Essaye OxA1b ou un cast explicite: (byte)0XA1


 
Ben à ma connaissance :
 
1) le type entier par défaut de Java est int. Pour les autres types, les constantes numériques doivent être "explicite" (par exemple 1L pour un long)
 
2) java est fortement typé (pas de cast implicites vers le bas, càd byte < short < int < long < float < double. Donc si on vet caster une valeur vers la gauche, il faut le faire explicitement... ça évite d'avoir des surprises comme il arrive parfois en C :)
 
3) le type byte est signé. Il ne peut donc contenir que des valeurs comprises entre -128 et + 127. (si on spécifie la valeur en décimale, pour l'hexa c'est 0x00 .. 0xff)
 
4) dans les valeurs hexa, il ne fait pas la différence entre min et maj (0xed == 0xED)
 
bonne journée

n°470767
LetoII
Le dormeur doit se réveiller
Posté le 29-07-2003 à 11:52:24  profilanswer
 

leonhard a écrit :


 
Ben à ma connaissance :
 
1) le type entier par défaut de Java est int. Pour les autres types, les constantes numériques doivent être "explicite" (par exemple 1L pour un long)
 
2) java est fortement typé (pas de cast implicites vers le bas, càd byte < short < int < long < float < double. Donc si on vet caster une valeur vers la gauche, il faut le faire explicitement... ça évite d'avoir des surprises comme il arrive parfois en C :)
 
3) le type byte est signé. Il ne peut donc contenir que des valeurs comprises entre -128 et + 127. (si on spécifie la valeur en décimale, pour l'hexa c'est 0x00 .. 0xff)
 
4) dans les valeurs hexa, il ne fait pas la différence entre min et maj (0xed == 0xED)
 
bonne journée
 


 
C ce que je dit, c de la merde :o


---------------
Le Tyran
n°470771
leonhard
Posté le 29-07-2003 à 11:57:47  profilanswer
 

LetoII a écrit :


 
C ce que je dit, c de la merde :o  


 
ben effectivement, y'a plus de plaisir à chercher pourquoi un prgm qui marchait ne marche plus sur un ouvelles machine parce que les deux compilos n'ont pas les même règles de casting...  
 
Mes étudiants pensent comme toi... d'après eux, un programme est terminé quand le compilateur n'annonce plus d'erreurs de syntaxe, alors effectivement ç'est plus rapide en C...  

n°470772
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 29-07-2003 à 11:59:20  profilanswer
 

LetoII a écrit :


C ce que je dit, c de la merde :o  


Alors retourne à tes topics sur ton langage unsafe et nous fais pas chier :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°470786
Scoubidoo
In reblochon we trust
Posté le 29-07-2003 à 12:17:21  profilanswer
 

on se calme SVP... on est là pour s'entraider  :hello: pas pour dire que tel ou tel langage c'est de la merde (c'est pas le but de mon topic)
C'est incroyable ici comme ambiance.   :heink:
 
 

n°470788
chrisbk
-
Posté le 29-07-2003 à 12:21:01  profilanswer
 

leonhard a écrit :


 
ben effectivement, y'a plus de plaisir à chercher pourquoi un prgm qui marchait ne marche plus sur un ouvelles machine parce que les deux compilos n'ont pas les même règles de casting...  


 
surtout quand on sait que les bytes prennent 4octets en memoire en java :O (sauf les tableaux, quand meme)
autrement dit on cast un peu a tout va pour du beurre, finalement :D


Message édité par chrisbk le 29-07-2003 à 12:21:38
n°470790
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 29-07-2003 à 12:24:59  profilanswer
 

Scoubidoo a écrit :

on se calme SVP... on est là pour s'entraider  :hello: pas pour dire que tel ou tel langage c'est de la merde (c'est pas le but de mon topic)
C'est incroyable ici comme ambiance.   :heink:


Nan mais c'est bon hein, c'est pas passk'on s'insulte qu'on se veut forcément du mal :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°470794
chrisbk
-
Posté le 29-07-2003 à 12:27:54  profilanswer
 

Taiche a écrit :


Nan mais c'est bon hein, c'est pas passk'on s'insulte qu'on se veut forcément du mal :o


 
ta gueule tu pollues :O

n°470815
LetoII
Le dormeur doit se réveiller
Posté le 29-07-2003 à 12:50:20  profilanswer
 

Scoubidoo a écrit :

on se calme SVP... on est là pour s'entraider  :hello: pas pour dire que tel ou tel langage c'est de la merde (c'est pas le but de mon topic)
C'est incroyable ici comme ambiance.   :heink:
 
 


 
Faut pas le prendre comme ça, on déconne ;)
 
N'empéche que le fait qu'il n'y ai pas de type non signé c bien lourd, et que le compilo me chie une erreur quand je tente un byte temp = 128 je veux bien, mais pas quand je fais byte temp = 0 bordel  [:ddr555]


Message édité par LetoII le 29-07-2003 à 12:51:13

---------------
Le Tyran
n°471238
leonhard
Posté le 29-07-2003 à 17:25:54  profilanswer
 

LetoII a écrit :


 
Faut pas le prendre comme ça, on déconne ;)
 
N'empéche que le fait qu'il n'y ai pas de type non signé c bien lourd, et que le compilo me chie une erreur quand je tente un byte temp = 128 je veux bien, mais pas quand je fais byte temp = 0 bordel  [:ddr555]


 
ça m'em... de te le dire, mais t'as farpaitement raison  :cry: j'aime bien java quand il s'agit de développer des bidules avec pleins de fenêtres qui s'ouvrent dans tous les sens, mais y z'aurait quand même pu y mettre un type non signé...  
 
quant à l'ambiance du forum, moi ça me fait marrer... et je ne me sens pas du tout insulté.... te laisses pas marcher sur les pieds LettoII !! :kaola:  

n°471385
Scoubidoo
In reblochon we trust
Posté le 29-07-2003 à 20:14:14  profilanswer
 

(byte)0xA1, ça passe au compilo et à l'exec ensuite.
Merci  ;)

n°471423
leonhard
Posté le 29-07-2003 à 21:56:50  profilanswer
 

Scoubidoo a écrit :

(byte)0xA1, ça passe au compilo et à l'exec ensuite.
Merci  ;)  


 
ok, ok, j'me suis mal exprimé. Soit
 
byte v1 = (byte)0xA1;  
int v2 = v1;  
 
là ou ça marche mois bien c'est que dans la variable v2 on n'a pas 0x000000A1 mais 0xFFFFFFA1 parce que v1 contient une valeur négative... ok tu peux aussi écrire
 
int v2 = 0x000000FF & v1
 
mais quand tu dois t'amuser à transformer des tableaux de bytes en long ça devient franchement lourds...

n°471598
LetoII
Le dormeur doit se réveiller
Posté le 30-07-2003 à 08:43:41  profilanswer
 

leonhard a écrit :


 
ok, ok, j'me suis mal exprimé. Soit
 
byte v1 = (byte)0xA1;  
int v2 = v1;  
 
là ou ça marche mois bien c'est que dans la variable v2 on n'a pas 0x000000A1 mais 0xFFFFFFA1 parce que v1 contient une valeur négative... ok tu peux aussi écrire
 
int v2 = 0x000000FF & v1
 
mais quand tu dois t'amuser à transformer des tableaux de bytes en long ça devient franchement lourds...


 
Ben de toute manière si tu veux du non signé tu va ps travailler avec des byte mais des int et t'aura pas à te faire chier puisque les valeurs étant entre 0 et 255 ce sera tjrs positif  [:spamafote]


---------------
Le Tyran
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] cmt ça marche un tableau de byte?

 

Sujets relatifs
Si vous avez le plug in java installé et quelque minutes de libre...Appeler un programme distant avec Java
[Java] Class swing - Coordonnées d'un JButton[JAVA] Mécanisme pour charger des JAR à la demande
tableau XML, removeRow et raffraichissementapllet java IRC et signature????
Pour les pros de JAVA et JSPptite question en java
[MySQL] Sauvegarder un tableau dans une table[PHP] Ranger un tableau dans l'ordre alphabétique
Plus de sujets relatifs à : [Java] cmt ça marche un tableau de byte?


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