Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > BinToHex


Автор: Neox_GeForce 18.10.2009, 16:55
Привет всем. Нужно написать програму которая переводить строковое представление двоичного числа у шестнадцятеричное. 
Например 111 ->7
Я написал функции некоторые.
Конвертация 4-битного числа в Нех
Код

 public static String getHex(String binString){

        String  number=ERROR;
        

          if(binString.compareTo("0000")==0) {number="0";}
          else
         if(binString.compareTo("0001")==0){ number="1";
         }
            else
         if(binString.compareTo("0010")==0) {number="2";  }
            else
         if(binString.compareTo("0011")==0){ number="3";}
            else
         if(binString.compareTo("0100")==0) {number="4";}
            else
         if(binString.compareTo("0101")==0) {number="5"; }
            else
         if(binString.compareTo("0110")==0) {number="6";}
            else
         if(binString.compareTo("0111")==0){ number="7"; }
            else
         if(binString.compareTo("1000")==0){  number="8";}
            else
         if(binString.compareTo("1001")==0){ number="9";}
            else
         if(binString.compareTo("1010")==0) { number="A";}
            else
         if(binString.compareTo("1011")==0) {number="B";}
            else
         if(binString.compareTo("1100")==0) {number="C";}
            else
         if(binString.compareTo("1101")==0){ number="D";}
         else
         if(binString.compareTo("1110")==0){ number="E";}
            else
         if(binString.compareTo("1111")==0){ number="F";}


     return number;
    }


и заполнение дополнительнимы нулями

Код

private static String fillZero(String st) {
        StringBuffer s=new StringBuffer(st);
        s.reverse();

        int i = s.length();
        while (i%4!=0) {
        s.append("0");
            i++;
        }
      //s.reverse();

        return s.toString();  //To change body of created methods use File | Settings | File Templates.

    }


А как дальше я незнаю. Подскажите.

Автор: GoldFinch 18.10.2009, 22:02
переведи строку с двоичным числом в число, а потом выведи его как строку с шестнадцатеричным числом

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)