Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 28 juil. 2006 à 20:52
FraGag -> C'est quand même intéressant ce que tu propose, mais j'ai utilisé les opérateurs binaires pour les faire découvrir, car ils ne sont que très rarement utilisé même si des fois c'est très pratique.
cs_FraGag
Messages postés81Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention18 avril 2008 28 juil. 2006 à 20:47
Personnellement, je préfère :
var x = 20;
alert(x.toString(16));
qui affiche bien 14... L'argument envoyé à Number.toString() représente la base, entre 2 et 36.
alert(x.toString(2)); 'affiche 10100
L'opération inverse s'effectue avec parseInt(str, base), où str est une chaîne contenant un nombre de la base spécifiée. En passant, spécifiez _toujours_ l'argument base, sinon vous allez avoir des surprises :
alert(parseInt("10")); 'affiche 10
alert(parseInt("010")); 'affiche 8 (comme si base === 8)
alert(parseInt("0x10")); 'affiche 16, fonctionne également si base === 16)
Il existe aussi parseFloat() pour obtenir un nombre à virgule flottante à partir d'une chaîne, mais là il n'y a pas le paramètre base.
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 28 juil. 2006 à 02:21
J'ai mis 1 comme 0001 pour montrer que je prend 4 bits a la fois et non un seul quand il y a conversion d'un nombre décimal à un nombre hexadécimal et même chose pour le 4. En pensant un bit c'est un nombre binaire qui représente la plus petite unité de stockage.
cs_DomJ
Messages postés132Date d'inscriptiondimanche 4 décembre 2005StatutMembreDernière intervention 3 décembre 20131 27 juil. 2006 à 23:25
je trouve ta source belle mais dans l'explication final
Je comprend pas pas pourquoi tu met 1 comme ça "0001" et 4 comme ca "0100" pourquoi met-tu des 0?
28 juil. 2006 à 20:52
28 juil. 2006 à 20:47
var x = 20;
alert(x.toString(16));
qui affiche bien 14... L'argument envoyé à Number.toString() représente la base, entre 2 et 36.
alert(x.toString(2)); 'affiche 10100
L'opération inverse s'effectue avec parseInt(str, base), où str est une chaîne contenant un nombre de la base spécifiée. En passant, spécifiez _toujours_ l'argument base, sinon vous allez avoir des surprises :
alert(parseInt("10")); 'affiche 10
alert(parseInt("010")); 'affiche 8 (comme si base === 8)
alert(parseInt("0x10")); 'affiche 16, fonctionne également si base === 16)
Il existe aussi parseFloat() pour obtenir un nombre à virgule flottante à partir d'une chaîne, mais là il n'y a pas le paramètre base.
28 juil. 2006 à 02:21
27 juil. 2006 à 23:25
Je comprend pas pas pourquoi tu met 1 comme ça "0001" et 4 comme ca "0100" pourquoi met-tu des 0?
Dom