Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mathe - Fortlaufende Zählung anhand von Integer Werten

Frage Entwicklung

Mitglied: 85232

85232 (Level 1)

05.06.2012 um 22:12 Uhr, 3100 Aufrufe, 5 Kommentare

Hallo Community,

ich bin derzeit am Mathe Nachsitzen und habe derzeit ein kleines großes Brett vor dem Kopf

Und zwar versuche ich derzeit zu erlernen, wie der Computer Werte speichert. Dazu habe ich mir folgendes nun Gedanklich zusammengebaut:

1.) Ein Programm (in diesem Fall Visual Studio) reserviert über den Befehl int zahl = 2147483647 - 32 Bit im Speicher (da "int" bekanntlich 32bit erlaubt)
2.) Den reservierten 32Bits im Speicher wird die Zahl durch Konvertierung in Binär gespeichert. In diesem Fall 32x 1Bit


Ich habe nachgelesen, das "int" den Wertebereich −2.147.483.648 bis +2.147.483.647 hat.

Warum ist das Bit-Muster (32x 1 Bit für 2147483647) alles komplett 1? Ich hatte eigentlich gelernt, das wenn das erste Bit 1 ist, ist die Zahl negativ, ansonsten positv.
In diesem Fall ist die Zahl (2147483647) doch positiv, dann darf doch gar nicht die 1 vorne stehen, oder?

Meine Vermutung war dann, das dieses Phänomen etwas mit signed und unsigned zutun haben könnte, was bedeuten würde, das "int" im besonderen Fall statt negativ Zahlen den Wert 4.294.967.295 darstellen könnte.

Kann mir jemand helfen, wo ich meine Denkfehler habe?

Vielen Dank.
speckles
Mitglied: hmarkus
05.06.2012, aktualisiert 06.06.2012
Hallo speckles

+2.147.483.647 ist 1111111111111111111111111111111 = 2^31-1
+4.294.967.295 ist 11111111111111111111111111111111 = 2^32-1

Markus
Bitte warten ..
Mitglied: Kaioshin
05.06.2012, aktualisiert um 23:26 Uhr
Hallo speckles

Ich hatte eigentlich gelernt, das wenn das erste Bit 1
ist, ist die Zahl negativ, ansonsten positv.

Wenn das geringwertigste Bit (lsb für least significant bit) auf 1 steht, so handelt es sich um eine negative Zahl.
1111 = 15
1110 = 14

Ich glaube du meintest mit dem ersten Bit das höchstwertigste Bit (msb für most significant bit), wobei diese Regel bei diesem Bit nicht anzuwenden ist.

Meine Vermutung war dann, das dieses Phänomen etwas mit signed und unsigned zutun haben könnte, was bedeuten würde, > das "int" im besonderen Fall statt negativ Zahlen den Wert 4.294.967.295 darstellen könnte.

Dazu folgenden Link, http://openbook.galileocomputing.de/it_handbuch/kap_02_math_tech_002.ht ... (scroll etwas weiter oben zu "Dualzahlen mit Vorzeichen").


Kaioshin
Bitte warten ..
Mitglied: 85232
06.06.2012 um 19:50 Uhr
Hallo ihr beiden,

vielen Dank für eure Hilfestellungen. Ich glaube ich habe die Richtung verstanden in die es geht.

Ich habe mir einen Merksatz gebaut, indem ich versuche die oben beschriebenen Tipps umzusetzten:
1.) Wird ein (signed) vorzeichenbehafteter Wert verlangt, wird das vorderste bit (msb) abgetrennt und als Vorzeichenbit benutzt. Wird der Datentyp als unsigned übergeben, wird das msb bit zum bilden von hohen Werten benötigt und die Regel: Eine 1 am msb bit bedeutet nicht eine negative Zahl!


Was jedoch zu dem unten beschrieben steht, stimme ich bislang noch nicht überein. Ich bin weiterhin der Meinung, das das msb als Vorzeichenbit benutzt wird, da das lsb für die Bildung von z.B. -1 nötig wäre.


Zitat von Kaioshin:
Wenn das geringwertigste Bit (lsb für least significant bit) auf 1 steht, so handelt es sich um eine negative Zahl.
1111 = 15
1110 = 14

Ich glaube du meintest mit dem ersten Bit das höchstwertigste Bit (msb für most significant bit), wobei diese Regel bei
diesem Bit nicht anzuwenden ist.
Bitte warten ..
Mitglied: hmarkus
06.06.2012, aktualisiert um 20:00 Uhr
Guten Abend,

Du solltest vor allem zu Kenntnis nehmen, dass diese Darstellung von verschiedenen Faktoren abhängt (Programmiersprache, Architektur, Compiler usw.). Hier http://de.wikipedia.org/wiki/Integer_(Datentyp) ist einiges beschrieben.

Auf jeden Fall solltest Du noch andere Quellen zu Rate ziehen!

Markus
Bitte warten ..
Mitglied: Kaioshin
06.06.2012 um 22:22 Uhr
Hallo

[...] Eine 1 am msb bit bedeutet nicht eine negative Zahl! [...]
Eine 1 am msb ist keine Regel für eine ungerade Zahl! Weil das msb selbst eine gerade Zahl ist und somit nicht dazu beitragen kann dass eine bereits gerade Zahl ungerade wird. Beim lsb (2^0 = 1) ist es da natürlich anders.

[...] das das msb als Vorzeichenbit benutzt wird, da das lsb für die Bildung von z.B. -1 nötig wäre.
Ja das ist richtig. http://de.wikipedia.org/wiki/Zweierkomplement (Da wirds nochmal recht gut erklärt).


Kaioshin
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Microsoft Office
Excel VBA: Tranferieren von Werten aus Quelldatei in die Masterdatei mit SVERWEIS (3)

Frage von peter.schroeder zum Thema Microsoft Office ...

Batch & Shell
XML nach Liste mit Werten durchsuchen (12)

Frage von bocker zum Thema Batch & Shell ...

VB for Applications
gelöst VBA: Verständnisfrage bei Funktionen, Rückgabe von Werten (3)

Frage von Aximand zum Thema VB for Applications ...

Microsoft Office
gelöst Excel oder google Sheets automatisch aktualisieren bei neuen Werten? (14)

Frage von Stoffn zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...