示例#1
0
文件: 5-1.c 项目: gsrr/Programs
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;
}
示例#2
0
文件: 5-6.c 项目: gsrr/Programs
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;
}
示例#3
0
文件: octalbin.c 项目: ankitpati/fds
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;
}
示例#4
0
文件: 5-6.c 项目: gsrr/Programs
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);
}
示例#5
0
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;
}