package p03_zmienne_i_typy;

public class BityIBajty {

    /* Program wypisuje wartość zmiennej typu byte oraz jej zapis w pamięci w postaci ciągu 8 bitów, zwiększając w pętli wartość o 1.
     * Widać zjawisko integer overflow: wartość +127 przechodzi w wartość -128.
     * Dla zmiennych typu short, int, long jest analogicznie; różnica jest w długości ciągu bitów (16, 32 i 64) i zakresie liczb.
     */
    public static void main(String[] args) {
        System.out.println("Zwiększanie bajta:");
        byte b = 0;
        for(int i = 0; i <= 512; i++) {
            String bity = Integer.toBinaryString(Byte.toUnsignedInt(b));
            bity = String.format("%8s", bity);
            bity = bity.replace(' ', '0');
            System.out.printf("%4d  :  %s%n", b, bity);
            b++;
        }
    }
}
