>> Home >> Java >> Java: Výpis bitů z bajtu

 

Java: Výpis bitů z bajtu

 

V tomto poněkud kratším textu si ukážeme, jak z bajtu vypsat jednotlivé bity. Jak jistě každý ví, tak bajt 8 bitů. Ukážeme si jednoduchý algoritmus, který by se mohl podobně implementovat ve více jazycích (až na malé změny..). Samozřejmě budeme tento kód zapisovat v jazyce Java.

binary posltar :)

Implementace do Javy

Vytvoříme si statickou metodu, která nám bude vracet objekt typu String - textový řetězec.

 

    public static String bits(byte b) {
       
        StringBuffer buffer = new StringBuffer();
        for(int i = 128;i > 0; i = i / 2) {
            if((b & i) != 0)
                buffer.append('1');
            else
                buffer.append('0');
        }
        return buffer.toString();
    }

 

Jak vidíte, velice snadná metoda. Jen vytvoříme instanci třídy StringBuffer, do které budeme průběžně ukládat jedničky a nuly v cyklu, který následuje hned po ní. Poté jen vracíme výsledný String.

Dejme tomu, že ve stejné třídě, jako jsme vytvořili tuto statickou metodu se nachází i metoda main(). Pak by samotné volání metody mohlo vypadat například takto:

 

    public static void main(String[] args) {
   
        byte byt = 2;
        System.out.println(bits(byt));
    }

 

V tomto případě by byl výpis - 00000010

 

pridej.cz Přidat.eu záložku

 

Diskuze k článku


 

  1. Anon47 napsal(a):
    2009-03-25 15:04:24

    Tady by bylo možná vhodnější použít bitový posun jako se to diskutuje zde: http://www.coderanch.com/t/412032/Java-General-beginner/java/bit-from-byte. Kód v Groovy by vypadal nějak takto: http://www.clipboard.cz/9rj

  2. Pavel napsal(a):
    2009-03-28 12:15:06

    to Anon47: Pravda. Použít bitový posun mě nějak nenapadlo. Každopádně díky za příspěvek ;)

 

Přidat nový komentář