Last active
October 5, 2022 17:27
-
-
Save ilopX/80ee21cfe078b4c4dd43b0f2b00e6fad to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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