Skip to content

Instantly share code, notes, and snippets.

@ilopX
Last active October 5, 2022 17:27
Show Gist options
  • Save ilopX/80ee21cfe078b4c4dd43b0f2b00e6fad to your computer and use it in GitHub Desktop.
Save ilopX/80ee21cfe078b4c4dd43b0f2b00e6fad to your computer and use it in GitHub Desktop.
public class Main {
public static void main(String[] args) {
byte zero = 0b0000_0000;
byte mid = (byte)0b1000_0000;
byte max = 0b0111_1111;
System.out.println(zero + " -> 0b0000_0000");
System.out.println(mid + " -> 0b1000_0000");
System.out.println(max + " -> 0b0111_1111");
System.out.println("0b0111_1111 (127) + 0b0000_0001 (1) = 0b1000_0000 (" + (byte)(max + 1) + ")");
// бинарная логика
// 127 + 1 это 0b0111_1111 + 0b0000_0001 = 0b1000_0000;
// компьютер начнет прибавлять биты справа на лево (0b0111_1111), первый (самый правый) превратится в ноль,
// второй в ноль и так далее
// пока самый старши бит (самы леый) не стан 1
// получится 0b1000_0000 а так как java считает любой byte как unsigned, получим -128
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment