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

Les bits

JeanYvesYves
JeanYvesYves
Niveau 10
02 septembre 2004 à 03:02:04

Et personne n´a parlé de Logarithme de base 2 ?

Combien de bits sont nécessaires pours coder 6023589 ? Avec une formule ?

on sait que
2^(b-1) = N
avec N nombre a trouver et b nombre de bits nécessaires.

ça marche :
8 codé sous 4 bits, si N=8, b-1 = 3, ça donne b=4
etc on peut essayer sur d´autres exemples....

Donc apres, c´est des maths :
vous avez N, mais pas b, il faut isoler b :

2^(b-1)=N
< => ( b-1)ln 2 = ln N
< => b = ln N/ln 2 +1
< => b = ln2 N +1

appliquez pour 6023589 : on trouve
23,52.....
( faut tronquer l´apres virgule)

n´avais tu pas trouvé 23 aussi ? :)

( bon, j´avoue, ce -1 apres le b me donne toujours du fil a retordre mais bon....
j´ai essayé avec 65535 et 65536 dont je connais le nombre de bits, C bon, mais faut tronquer l´apres virgule)

Bon, c´était les aventures du JYY logarithmique de 3h du matin, sur ce bonne nuitée !

dnob700
dnob700
Niveau 10
02 septembre 2004 à 20:35:45

facile,

on supprime le +1 et on remplace le floor par un ceil.

dnob700
dnob700
Niveau 10
02 septembre 2004 à 20:38:28

je veux dire, on n´arrondit pas par défaut, mais par excès si on supprime le +1

dnob700
dnob700
Niveau 10
02 septembre 2004 à 20:40:45

ah oui, et en fait, il faut mettre le 2^b=N+1

parce que il faut supprimer le 0 dans le nombre de bit :

binaire décimale
0 1
1 2
10 3

au lieu de l´habitude.
Et comme ça la fonction marche sans le plus 1 après le ln.

dnob700
dnob700
Niveau 10
02 septembre 2004 à 23:12:43

Ca n´a aucun sens ce que j´ai écrit hein ? j´ai beau relire, je comprend pas...
Faut dire, que je ne comprend pas exactement non plus le problème de JYY.

En fait, ce que je voulais dire, c´est que je trouvais plus satisfaisant d´avoir

b=ceil(ln2(N+1))
plutot que
b=floor(ln2(N)+1)
Parce que si on trouve 22.45464 c´est qu´on utilise 22.45464 bits, hors comme on peut pas utiliser des demis bits, alors on en prend 23 plutot que 22. Enfin, je trouve ça plus satisfaisant d´un point de vue du sens mathématiques, mais on me répond toujours que les maths n´ont pas de sens !

JeanYvesYves
JeanYvesYves
Niveau 10
03 septembre 2004 à 01:41:53

pas d´accord pour ton probleme de ceil ou de floor pour le cas particulier ou on tombe sur un nombre rond :

avce ta formule, N=7 nous donne b=2,...
ce qui fait bien 3 si on prend le ceil
cependant, N=8 nous donne 3 ( tout rond) ce qui donne toujours 3 si tu prend le ceil, et C faux, car il faut 4 bits pour 8 :)
sans le +1, c´est simple, mais ça ne marche pas sur les nombres " ronds", c´est a dire des puissances de 2

dnob700
dnob700
Niveau 10
03 septembre 2004 à 18:58:16

b=ceil(ln2(N+1))

j´ai gardé le +1, mais il s´applique avant le log plutôt que après c´est ça que ´jappelais plus satisfaisant.

Mais je ne comprend pas quel était ton problème avec le +1 ? tu voulais trouver un moyen de l´enlever ?

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