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, 3115 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 ..
Ähnliche Inhalte
Microsoft Office
gelöst Micorsoft Excel: Variable Anzeige von mehreren Werten anhand von Stammdaten (1)

Frage von sammy65 zum Thema Microsoft Office ...

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 ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

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

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (14)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (13)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...