Dezimal in Binär umwandeln<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich muss Datenspalten (dezimal) in binär (8 Bit) konvertieren und dann die 4 LSB mit den 4 MSB in die nächste Datenspalte verketten.Gibt es eine Möglichkeit, Dezimaldaten in JMP zumindest in Binärdaten zu konvertieren?
Betreff: Dezimal in Binär umwandelnWie kürzlich bekannt gegeben:
Hallo - können Sie das Folgende anpassen, um das zu tun, was Sie brauchen?
<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;
Und:
Kein Problem - eine zusätzliche "if"-Klausel behandelt n=0 als Sonderfall:
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);
(Ich gehe davon aus, dass n eine nicht negative ganze Zahl ist und dass die Basis eine positive ganze Zahl ist.)
Betreff: Dezimalzahlen in Binärzahlen umwandelnHallo – können Sie Folgendes an Ihre Bedürfnisse anpassen?
// Funktion zur Umwandlung einer ganzen Zahl in eine beliebige positive Basis bis hin zu Hexadezimalzahlen;
Base= Funktion( {n,nbase }, { Standardlokal },
ndash = "" ;
Ziffern = "0123456789ABCDEF" ;
Während( n > 0,
Rest = Gegen ( n , nbase ) ;
neueZiffer = Substr ( Ziffern , ( 1 + Rest ) , 1 ) ;
ndash = neueZiffer || ndash ;
n= (n -Rest ) / nbase ;
);
ndash;
);
// Gib ein paar Zahlen aus, um zu zeigen, wie es im Binärsystem funktioniert;
Für( i = 1, i <= 32, i++,Zeigen( Verkohlen( i ) || " = " ||Basis ( i, 2 ) ) );
// Oder erstellen Sie neue Spalten in einer Datentabelle und füllen Sie diese;
dt= Neuer Tisch( "Zahlensysteme", Neue Spalte( "N",numerisch,Werte (Index( 1, 32 ) ) ) );
Zahlenbasis= {2, 3, 8, 10, 12, 16}; // Einige bekannte Zahlensysteme;
Für( i = 1, i <= N Artikel(Zahlenbasis ), i++,
k=Zahlenbasis [ i ];
dt<< Neue Spalte( "Basis"|| Verkohlen( k ),Zeichen );
Für( j = 1, j <= N-te Reihe(dt ), j++,
Spalte(dt, ("Basis"|| Verkohlen( k )) )[j] =Basis (j, k ) );
);
// Programmende;
Betreff: Dezimalzahlen in Binärzahlen umwandelnDas ist ein Anfang. Aber es scheint, dass die Basisfunktion eine Null nicht in binäre 0 umwandeln kann.