십진수를 이진수로 변환<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />데이터 열(십진수)을 이진(8비트)으로 변환한 다음 4 MSB가 있는 다음 데이터 열에 4 LSB를 연결해야 합니다.JMP에서 최소한 10진수 데이터를 2진수로 변환하는 방법이 있습니까?
Re: 10진수를 2진수로 변환이전에 언급한 바와 같이:
안녕하세요 - 필요한 작업을 수행하기 위해 다음을 조정할 수 있습니까?
<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;
그리고:
문제 없습니다. 추가 "if" 절은 n=0을 특별한 경우로 취급합니다.
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);
(나는 n이 음이 아닌 정수이고 그 밑이 양의 정수라고 가정하고 있습니다.)
제목: 십진수를 이진수로 변환안녕하세요. 아래 코드를 필요에 맞게 수정해 주실 수 있나요?
// 정수를 16진수까지의 임의의 양의 진수로 변환하는 함수;
베이스= 기능( {n,nbase }, { 기본 로컬 },
- = "" ;
숫자 = "0123456789ABCDEF" ;
하는 동안( n > 0,
나머지 = 에 맞서 ( n , nbase ) ;
newdigit = 부분 ( digits , ( 1 + 나머지 ) , 1 ) ;
ndash = newdigit || - ;
n= (n -나머지 ) / nbase ;
);
-;
);
// 이진수로 작동하는지 보여주기 위해 몇 가지 숫자를 출력합니다.
을 위한( i = 1, i <= 32, i++,보여주다( 숯( i ) || " = " ||기본 ( i, 2 ) ) );
// 또는 데이터 테이블에 새 열을 만들고 해당 열을 채울 수도 있습니다.
dt= 새 테이블( "진법", 새 칼럼( "N",숫자,값 (색인( 1, 32 ) ) ) );
숫자 기준= {2, 3, 8, 10, 12, 16}; // 몇 가지 익숙한 진법;
을 위한( i = 1, i <= N개 품목(숫자 기준 ), i++,
k=숫자 기반 [ i ];
dt<< 새 칼럼( "기본"|| 숯( k ),성격 );
을 위한( j = 1, j <= N열(dt ), j++,
열(dt, ("기본"|| 숯( k )) )[j] =기본 (j, k ) );
);
// 프로그램 끝;
제목: 십진수를 이진수로 변환시작은 좋습니다. 하지만 base 함수가 0을 이진수 0으로 변환하지 않는 것 같습니다.