Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 16:07

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Datentyp Aufgabe

Discussion on Datentyp Aufgabe within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2011
Posts: 2
Received Thanks: 0
Post Datentyp Aufgabe

haaaay

naja ich hab da mal so ein problem bin gerade im ersten jahr als programmierer haben gerade java

schaut euch das mal an:
short a = 32000, b = 32000;
int c = 3 * a * b;
tools.showMessage("c=" + c);

sollte ja irgendwie 3'072'000'000 geben (wäre ja zu gross für int müsste also fehlermeldung geben) aber irgendwie kommt c= -1'222'967'296 raus

hoffe jemand kann mir helfen..
(weiss nicht ob ich hier richtig bin sonst bitte ins richtige topic damit )
sujeepan13 is offline  
Old 02/12/2013, 19:22   #2
 
BigJk's Avatar
 
elite*gold: 681
Join Date: Aug 2010
Posts: 521
Received Thanks: 106
Ich weiß nicht wie das mit den Fehlern bei Java ist und warum dann c auf diesen Wert gesetzt wird, aber wenn du sehen willst ob es wirklich zu groß ist kannst du ja vorher einen eigenen Check einbauen.

Sowas dann einfach in Java übernehmen:
Code:
wenn ( 3 * a * b ) > Integer.MAX_VALUE dann
    //FEHLER, ZAHL ZU GROß
Code:
wenn ( 3 * a * b ) < Integer.MIN_VALUE dann
    //FEHLER, ZAHL ZU KLEIN
Integer.MIN_VALUE / Integer.MAX_VALUE ist schon in Java implementiert und habe ich hier gefunden:



(btw. das hier ist die .NET Section, also C# und VB also nicht ganz passend wenns um Java geht)
BigJk is offline  
Old 02/12/2013, 22:02   #3
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Der Wert ist zu groß und wird abgeschnitten, ist doch klar warum dann -1222967296 rauskommt.
MoepMeep is offline  
Old 02/12/2013, 23:34   #4
 
BigJk's Avatar
 
elite*gold: 681
Join Date: Aug 2010
Posts: 521
Received Thanks: 106
Wäre eigentlich logisch aber müsste dann der Überschuss nicht -924516353 sein?

Das Integer Maximum ist 2147483647. (Laut Integer.MAX_VALUE)
Unsere Zahl die bei 3 * 32000 * 32000 rauskommt ist 3072000000

2147483647 - 3072000000 = -924516353

Dann müsste der Überschuss doch -924516353 und nicht -1222967296 sein, oder sehe ich das Falsch?
BigJk is offline  
Old 02/13/2013, 07:58   #5
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Quote:
Originally Posted by BigJk View Post
Wäre eigentlich logisch aber müsste dann der Überschuss nicht -924516353 sein?

Das Integer Maximum ist 2147483647. (Laut Integer.MAX_VALUE)
Unsere Zahl die bei 3 * 32000 * 32000 rauskommt ist 3072000000

2147483647 - 3072000000 = -924516353

Dann müsste der Überschuss doch -924516353 und nicht -1222967296 sein, oder sehe ich das Falsch?
Siehst du falsch. Wie kommst du auf diese sinnlose rechnung?
MoepMeep is offline  
Old 02/13/2013, 08:55   #6

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Die Zahl wird mit dem Überlauf zu tun haben.
@TE: Kannst dir ja mal die Bits aufmalen und anschauen, was bei einer Veränderung, die über Integer.MAX_VALUE liegt, passiert.
snow is offline  
Old 02/13/2013, 10:59   #7
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
(2147483647)10 = (...0000 0111 1111 1111 1111 1111 1111 1111 1111)2
(3072000000)10 = (...0000 1011 0111 0001 1011 0000 0000 0000 0000)2

letzteres auf 32bit (int) abgeschnitten:
(1011 0111 0001 1011 0000 0000 0000 0000)2
Führende Eins -> negativ -> 2-Komplement bilden:
a) Bits invertieren:
(0100 1000 1110 0100 1111 1111 1111 1111)2
b) 1 addieren:
(0100 1000 1110 0101 0000 0000 0000 0000)2
->
(1222967296)10

--> (1011 0111 0001 1011 0000 0000 0000 0000)2 = (-1222967296)10
xNopex is offline  
Thanks
2 Users
Old 02/13/2013, 16:52   #8
 
BigJk's Avatar
 
elite*gold: 681
Join Date: Aug 2010
Posts: 521
Received Thanks: 106
Quote:
Originally Posted by MoepMeep View Post
Siehst du falsch. Wie kommst du auf diese sinnlose rechnung?
Ich hab einfach stur den Überschuss ausgerechnet ^^ war aber scheinbar doch nicht richtig. Siehe xNopex post.
BigJk is offline  
Old 02/18/2013, 17:58   #9
 
»Barney«'s Avatar
 
elite*gold: 0
Join Date: May 2012
Posts: 868
Received Thanks: 947
use an Int64 (long, ulong)
»Barney« is offline  
Reply

Tags
datentyp, java, programmieren


Similar Threads Similar Threads
Datentyp?
02/27/2012 - AutoIt - 19 Replies
Hey Com, ich hab ein kurze Frage welchen Datentyp brauche ich für Zahlen wie 400000 oder 2000 ? mfg Kingspeedy
C# Aufgabe
04/14/2011 - .NET Languages - 8 Replies
Guten Tag Da ich das Programmieren faszienierent fand wollte ich auch mal damit anfangen. Ich programmiere mit der sprache c# da ich gehört hab das viele fachinformatiker damit arbeiten.Nachdem ich mir die Grundlagen durchgelesen habe wollte ich mal anfangen AUfgaben zu Programmieren.Von meinem großen Bruder der Freund macht zuzeit sein Fachabi in Informatik. Ich habe ihn gefragt ob er mir eine Aufgabe geben könnte . Dann gab er mir diese aufgabe "Schreiben Sie ein Programm das ein...
Acc Aufgabe
04/10/2011 - CrossFire Trading - 14 Replies
Servus Leute Ich Wills Mal ganz Kurz Und Knapp Sagen Ich Hab Kein bock Mehr auf Crossfire Den ich Will mein Reallife Noch geniessen ! Also ICh verkaufe meinen 1st LT Hier Der Link : Z8Games Bitte Nur Ernstgemeinte Angebote ! 110€+ !!! Nur Über Middleman / Kontaktiert mich /Pm/icq: 485317990 Nur Paypal /banküberweisung! KEINE PSC'S
VBA Aufgabe
01/24/2011 - .NET Languages - 0 Replies
hallo Leute, ich brauche eine Lösung für die folgende Aufgabe. Es soll mit Hilfe von VBA in Excel gelöst werden also: Schreiben Sie ein VBA-Modul, das die fehlerfreie Eingabe in die Tabellen unter folgenden Gesichtspunkten garantiert: Die laufende Nummer in Tabelle 1 wird vom Programm vergeben. Autorname und Vorname dürfen keine Ziffern und Sonderzeichen enthalten (Ausnahme: - an mittlerer Stelle!). Der Lagerbestand darf nicht negativ sein. Die Platzziffern in der zweiten Tabelle...
php Aufgabe =X
09/20/2007 - Web Development - 3 Replies
Moin, ich hab bis morgen eine kleine Aufgabe in php zu lösen. Evtl. kann mir von euch jemand dabei helfen, würde mich irgendwie revangieren ;D Also als Input soll der Bruttolohn eines Arbeiters (zB) genommen werden, was in dem Fall hier 2200 € sind. Als Output soll nur der Nettolohn ausgegeben werden. Heist eine weiße Seite mit Nettolohn: ? So nun zum Programm: Vom Bruttolohn, also den 2200 € wird folgendes abgezogen:



All times are GMT +1. The time now is 16:07.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.