Kürzlich, während ich durch Typumwandlung Konzept in Java ging, habe ich gesehen, dass Typ Casting von größeren Variablen zu kleineren Variablen Ergebnisse der Modulo der größeren Variable durch den Bereich der kleineren Variablen. Kann jemand bitte dies im Detail erklären, warum dies der Fall ist und gilt es für jede explizite Typumwandlung ?.Warum Casting von größeren Variable zu kleineren Variablen Ergebnisse in Modulo der größeren Variablen durch den Bereich der kleineren Variablen
class conversion {
public static void main(String args[])
{
double a = 295.04;
int b = 300;
byte c = (byte) a;
byte d = (byte) b;
System.out.println(c + " " + d);
}
}
Der obige Code gibt die Antwort von d als 44 seit 300 Modulo 256 ist 44.Please erklären, warum dies der Fall ist, und auch, was passiert mit dem Wert von c?
hast du jemals einen Gedanken gemacht, wenn b = 128, dann modulo funktioniert, aber warum negativ ??? überprüfen Sie, dass –
Kommentar 2: und auch, wenn b = 255, dann funktioniert modulo nicht, überprüfen Sie das auch. –
yeah ich denke, ich weiß, Antwort für that.Sine Byte Datentyp Bereich ist 0 bis 127, Überlauf tritt auf, wenn wir 127 überqueren, so dass es von -128 bis -1.this ist, warum wir nicht die richtige Antwort für b = bekommen 255.Korrekt mich, wenn ich falsch liege? –