Перевод из двоичной системы счисления

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by r0, 4 Oct 2006.

  1. r0

    r0 Elder - Старейшина

    Joined:
    17 Jul 2005
    Messages:
    450
    Likes Received:
    149
    Reputations:
    147
    Интересует:
    1) Что такое "тетрады". Вики не дала ответа.
    2)Перевод из двоичной системы счисления в шестнадцетиричную, точнее алгоритм
    3) Пример пункта №2 на C++/Pascal
     
  2. CyberPunk

    CyberPunk Elder - Старейшина

    Joined:
    25 May 2006
    Messages:
    115
    Likes Received:
    38
    Reputations:
    10
    Тетрада - 4 бита
     
    1 person likes this.
  3. r0

    r0 Elder - Старейшина

    Joined:
    17 Jul 2005
    Messages:
    450
    Likes Received:
    149
    Reputations:
    147
    как глупо получается... хотя может я ошибаюсь?
    1)
    Т.е полагая что 16 бит = 4*4 тетрады, то 1 тетрада = 4 бита?

    2) Уже нашел в википедии не "тетрады" а квартеты, но 4 == 4, т.е все правильно... =)

    Остается только пункт №3, который я не нашел. =) Извините за "сам спросил - сам ответил" .
     
  4. CyberPunk

    CyberPunk Elder - Старейшина

    Joined:
    25 May 2006
    Messages:
    115
    Likes Received:
    38
    Reputations:
    10
    bin2hex
    http://www.delphipraxis.net/topic71149,next.html
     
  5. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    ну вобшем вот немног накатал:

    Code:
    
    #include <iostream.h>
    #include <stdlib.h>
    void main()
    {
    int  j;
     int mas[16];
         for(j=0;j<16;j++)   //вводим 16 чисел  0 и 1
          cin>>mas[j];
    
          int i[4];    ///// считаем
          i[0]= mas[3]+ mas[2]*2 + mas[1]*4 + mas[0]*8;
          i[1]= mas[7]+ mas[6]*2 + mas[5]*4 + mas[4]*8;
          i[2]= mas[11]+ mas[10]*2 + mas[9]*4 + mas[8]*8;
          i[3]= mas[15]+ mas[14]*2 + mas[13]*4 + mas[12]*8 ;
    
          char t[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
          char c[4];
    
    
          for(j=0;j<4;j++)  //переделуем в символы
              c[j]=t[i[j]]   ;
    
          for(j=0;j<4;j++)// выводим
          cout<<c[j]  ;
    
        system("pause");
    
    }
    
    Работает в консольном режиме визуалку не делал
    ввоодиш 16 цифр 0 и 1 которые переводяться в 16ричную систему (выводит 4 символа)
    прмер придельно упрощен! есле че стучи в асю!
     
    #5 nc.STRIEM, 4 Oct 2006
    Last edited: 4 Oct 2006
    1 person likes this.
  6. fen

    fen Elder - Старейшина

    Joined:
    23 Sep 2006
    Messages:
    41
    Likes Received:
    6
    Reputations:
    0
    байт =8 bit
    полубайт =4 bit .. его также называют и тетрадой, и квартетом..