int main() { srand(time(NULL)); int M = myrand(100); int N = myrand(); printf("(M,N) = (%d,%d)\n", M,N); StructArr arrM = oct2bin(M); StructArr arrN = oct2bin(N); insertNum(arrN, arrM); insertNumBit(N, M); return 0; }
int main() { int n = myrand(); printf("Random number:%d\n", n); binarray ba = oct2bin(n); print_arr(ba.arr, ba.len); convertOddEvent(n, ba); return 0; }
int main() { unsigned oct, dec; printf("Enter a decimal number:\n"); scanf(" %u%*c", &dec); tooct(dec); tobin(dec); printf("Enter an octal number:\n"); scanf(" %u%*c", &oct); oct2bin(oct); return 0; }
void convertOddEvent(int n, binarray ba) { int tmp = n; int i; int cnt = 0 ; int pre; for( i = ba.len - 1 ; i > -1 ; i--) { cnt++; if(cnt % 2 == 0) { swap(&tmp, ba.len - i - 1, ba.arr[i], pre); } else { pre = ba.arr[i]; } } printf("After swap:%d\n", tmp); oct2bin(tmp); }
int esc( const tchar * * s) { /* Map escape sequences into their equivalent symbols. Return * the equivalent ASCII character. *s is advanced past the * escape sequence. If no escape sequence is present, the * current character is returned and the string is advanced by * one. The following are recognized: * * \b backspace * \f formfeed * \n newline * \r carriage return * \s space * \t tab * \e ASCII ESC character ('\033') * \DDD number formed of 1-3 octal digits * \xDDD number formed of 1-3 hex digits * \^C C = any letter. Control code */ int rval; if( **s != _T('\\') ) rval = *( (*s)++ ); else { ++(*s); /* Skip the \ */ switch( toupper(**s) ) { case _T('\0'): rval = _T('\\'); break; case _T('B'): rval = _T('\b') ; break; case _T('F'): rval = _T('\f') ; break; case _T('N'): rval = _T('\n') ; break; case _T('R'): rval = _T('\r') ; break; case _T('S'): rval = _T(' ') ; break; case _T('T'): rval = _T('\t') ; break; case _T('E'): rval = _T('\033'); break; case _T('^'): rval = *++(*s) ; rval = _toupper(rval) - _T('@') ; break; case _T('X'): rval = 0; ++(*s); if( ISHEXDIGIT(**s) ) { rval = hex2bin( *(*s)++ ); } if( ISHEXDIGIT(**s) ) { rval <<= 4; rval |= hex2bin( *(*s)++ ); } if( ISHEXDIGIT(**s) ) { rval <<= 4; rval |= hex2bin( *(*s)++ ); } --(*s); break; default: if( !ISOCTDIGIT(**s) ) rval = **s; else { ++(*s); rval = oct2bin( *(*s)++ ); if( ISOCTDIGIT(**s) ) { rval <<= 3; rval |= oct2bin( *(*s)++ ); } if( ISOCTDIGIT(**s) ) { rval <<= 3; rval |= oct2bin( *(*s)++ ); } --(*s); } break; } ++(*s); } return rval; }