Convertir décimal en binaire<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai besoin de convertir des colonnes de données (décimales) en binaire (8 bits), puis de concaténer, par exemple, le 4 LSB à la colonne de données suivante avec le 4 MSB.Existe-t-il un moyen de convertir au moins les données décimales en binaire dans JMP ?
Re : Convertir décimal en binaireComme indiqué précédemment:
Salut - pouvez-vous adapter ce qui suit pour faire ce dont vous avez besoin ?
<SPAN>// Function to convert an integer into any positive base up to hexadecimal;</SPAN><BR />base = Function( {n, nbase}, {default local},
ndash = "";
digits= "0123456789ABCDEF";
While( n > 0,
remainder= Mod( n, nbase );
newdigit= Substr( digits, (1 + remainder), 1 );
ndash= newdigit || ndash;
n= (n - remainder)/ nbase;
);
ndash;
);
// Print out a few numbers to show it working in binary;
For( i = 1, i <= 32, i++, Show( Char( i ) || " = " || base( i, 2 ) ) );
// Or create some new columns in a data table and fill them;
dt = New Table( "Number Bases", New Column( "N", numeric, values( Index( 1, 32 ) ) ) );
numberbase = {2, 3, 8, 10, 12, 16}; // Some familiar number bases;
For( i = 1, i <= N Items( numberbase ), i++,
k= numberbase[i];
dt<< New Column( "Base "|| Char( k ), character );
For( j = 1, j <= N Row( dt ), j++,
Column( dt, ("Base "|| Char( k )) )[j] = base( j, k ) );
);
// End of program;
Et:
Pas de problème - une clause "if" supplémentaire traitera n=0 comme un cas particulier :
base = function({n, base}, {default local}, ndash = ""; digits = "0123456789ABCDEF";
if(n > 0, while(n > 0, remainder = mod(n, base); newdigit = substr(digits, (1 + remainder), 1);
ndash = newdigit || ndash; n = (n - remainder) / base), ndash = "0"); ndash);
(Je suppose que n est un entier non négatif et que base est un entier positif.)
Re: Conversion décimale en binaireBonjour, pouvez-vous adapter ce qui suit pour qu'il réponde à vos besoins ?
// Fonction permettant de convertir un entier en n'importe quelle base positive jusqu'à l'hexadécimal ;
base= Fonction( {n,nbase }, { par défaut local },
- = "" ;
chiffres = "0123456789ABCDEF" ;
Alors que( n > 0,
reste = Contre ( n , nbase ) ;
nouveauchiffre = Sous-str ( chiffres , ( 1 + reste ) , 1 ) ;
- = nouveauchiffre || - ;
n= (n -reste ) / nbase ;
);
—;
);
// Afficher quelques nombres pour montrer son fonctionnement en binaire ;
Pour( i = 1, i <= 32, i++,Montrer( Carboniser( i ) || " = " ||base ( i, 2 ) ) );
// Ou créez de nouvelles colonnes dans une table de données et remplissez-les ;
dt= Nouvelle table( « Bases de numération », Nouvelle colonne( "N",numérique,valeurs (Indice( 1, 32 ) ) ) );
base de nombres= {2, 3, 8, 10, 12, 16}; // Quelques bases numériques familières ;
Pour( i = 1, i <= N articles(base numérique ), i++,
k=base de nombres [ i ];
dt<< Nouvelle colonne( "Base "|| Carboniser( k ),personnage );
Pour( j = 1, j <= Rangée N(dt ), j++,
Colonne(dt, ("Base "|| Carboniser( k )) )[j] =base (j, k ) );
);
// Fin du programme ;
Re: Conversion décimale en binaireC'est un début. Mais il semble que la fonction de base ne convertisse pas un zéro en 0 binaire.