CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

printf("blabla");

Pseudo supprimé
Pseudo supprimé 21 février 2012 à 18:40:18

En fait je me trompe peut être sur quelque chose, la nature du "256" c'est la capacité ? Ou bien la manière dont l'octet peut être différent ?

caelacanthe
caelacanthe
Niveau 10
21 février 2012 à 18:50:28

256, c'est le nombre de valeurs différentes que tu peux lui attribuer. :(

Pseudo supprimé
Pseudo supprimé 21 février 2012 à 18:59:52

Mon gros problème en fait se situe là, si on part du principe qu'un bit peut être 1 ou 0 et qu'un octet en contient 8, j'en arrive à m'imaginer seulement 16 combinaisons possibles, j'additionne plus que de multiplier...

Pocolo
Pocolo
Niveau 10
21 février 2012 à 19:02:57

Tiens, voici toutes les combinaisons possibles :

http://codepad.org/NNgMgtq9

Tu vois bien comment on peut en avoir 256 maintenant.

Pseudo supprimé
Pseudo supprimé 21 février 2012 à 19:04:36

En fait ça je comprends parfaitement, mon problème est plutôt mathématique :oui:

Pseudo supprimé
Pseudo supprimé 21 février 2012 à 19:08:27

En gros, ce que je ne comprends pas, c'est la décomposition mathématique... je ne sais pas si je m'exprime bien

Pocolo
Pocolo
Niveau 10
21 février 2012 à 19:09:36

Oui, je comprends.

Pocolo
Pocolo
Niveau 10
21 février 2012 à 19:22:12

Je vais essayer de te l'expliquer de la façon suivante :

Donc déjà si on a qu'un seul octet on a effectivement que deux possibilités (il est à 1 ou 0 comme tu l'as dit), si on en rajoute un deuxième on peut effectivement faire 2+2 = 4, car l y a bien 4 possibilités :

00
01
10
11

Mais maintenant si on rajoute un troisième bit, on ne peut pas faire 2+2+2 = 6, car on sait qu'avec deux bits on a 4 possibilités.
Appelons nos 3 bits a, b et c, on a 4 possibilités avec a et b, mais on en a aussi 4 avec a et c.

Donc avec 3 bits on a bien 8 possibilités et non pas 6 comme tu pourrais le croire.

Pocolo
Pocolo
Niveau 10
21 février 2012 à 19:22:31

" Donc déjà si on a qu'un seul octet "

Je voulais dire bit.

Pseudo supprimé
Pseudo supprimé 21 février 2012 à 19:33:38

Je commence un peu mieux à décortiquer le bazar, mais j'ai du mal à comprendre pourquoi grouper le bit a et c ?

Pseudo supprimé
Pseudo supprimé 21 février 2012 à 19:35:36

Enfin si je comprends en fait, mais c'est encore flou pour moi le calcul de :

2*2*2*2*2*2*2*2

A quoi ça corresponds ?

Pocolo
Pocolo
Niveau 10
21 février 2012 à 19:49:40

Ma première explication n'est pas super en fait, ni très correcte, autre tentative :hap: :

Reprenons à 2 bits, on sait que l'on 4 possibilités :

00
01
10
11

Maintenant si on en rajoute un troisième ce dernier peut aussi être soit à 1 soit à 0, donc en gros vu qu'on avait 4 possibilités avec 2 bits, on ne a le double avec 3 :

0 00
0 01
0 10
0 11

1 00
1 01
1 10
1 11

J'ai mis un espace entre le troisième bit qu'on a rajouté et les deux autre bits que l'on avait précédemment, tu vois qu'on a d'une part les 4 possibilités qu'on avait avec 2 bits avec le troisième à 0, et d'autre part une fois de plus les mêmes 4 possibilités que l'on avait avec 2 bits mais avec le troisième à 0 cette fois, on a doublé les possibilités.

On pourrait faire pareil avec 4 bits, en reprenant les 8 possibilités que l'on avait avec 3 bits et en écrivant les 8 que l'on a avec le bit rajouté à 0 et les 8 autres avec le bit rajouté à 1 :

0 000
0 001
0 010
0 011
0 100
0 101
0 110
0 111

1 000
1 001
1 010
1 011
1 100
1 101
1 110
1 111

On a donc 16 combinaisons, après pour le calcul (2*2*2*2...) je ne sais pas quoi te dire, essayes de visualiser la chose.

Pocolo
Pocolo
Niveau 10
21 février 2012 à 19:50:26

" mais avec le troisième à 0 cette fois "

à 1. :(

Pseudo supprimé
Pseudo supprimé 21 février 2012 à 20:08:59

Si ça va j'ai compris ! En fait je calculais individuellement les chiffres, alors que qu'il faut les doubler... Merci en tout cas :o))

alfred75
alfred75
Niveau 10
22 février 2012 à 16:54:52

Ne voulant pas créer un topic pour ça, s'il vous plait je suis debutant en programmation.

pourquoi, quand j'essaye de faire ceci ça ne fonctionne pas ?
C'est en JAVA bref :
int n = 25;
if(n== (10 | 25 | 30)){
System.out.println("SA MARCHE");
}

alfred75
alfred75
Niveau 10
22 février 2012 à 16:56:18

Le OU logique c'est || non ?

Que je mette || ou | ça fonctionne pas, j'ai chercher sur le net mais pas moyen --'
"The operator || is undifiend"

alfred75
alfred75
Niveau 10
22 février 2012 à 16:57:22

C'est fou, c'est un truc tout bête mais la je patine sec pour ça... dingue ><

alfred75
alfred75
Niveau 10
22 février 2012 à 17:05:08

J'ai trouver :

int n = 25;
if(n== (10 | 25 | 30)){
System.out.println("SA MARCHE");
}

en fait c'est :
if((n=10)||(n=....)

mais c'est moche comme ecriture , si on me propose mieux..

Bunyan
Bunyan
Niveau 17
22 février 2012 à 17:28:13

Tu n'auras pas mieux.
C'est l'écriture normale.

Si (N = 10) OU (N = 25) OU (N = 30)
équivaut à
if (n == 10 || n == 25 || n == 30)
dans un très grand nombre de langage de programmation.

_skip
_skip
Niveau 10
22 février 2012 à 17:28:21

Non, pour 3 valeurs il n'y a pas mieux. S'il y en avait plus on pourrait construire un HashSet des valeurs possibles et tester s'il contient n.

C'est beaucoup plus rare qu'on le croit ce genre de code, càd faire la même chose pour différentes valeurs statiques connues d'avance.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment