AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Warum ist bei dem negativen Integer das erste Bit 0?
Thema durchsuchen
Ansicht
Themen-Optionen

Warum ist bei dem negativen Integer das erste Bit 0?

Ein Thema von Alallart · begonnen am 27. Mär 2024 · letzter Beitrag vom 28. Mär 2024
 
Rollo62

Registriert seit: 15. Mär 2007
4.182 Beiträge
 
Delphi 12 Athens
 
#5

AW: Warum ist bei dem negativen Integer das erste Bit 0?

  Alt 28. Mär 2024, 06:35
Dein BitAtPos liefert einen Integer zurück.
Aber war das nicht die Frage?

Integer und Cardinal sind beide 32-Bit und nehmen den gleichen MemorySpace ein.
Nur dass Integer von außen als positiv oder negativ interpretiert wird und Cardinal als ausschließlich positiv,
der eigentliche Speicherbereich ist aber nach wie vor gleich.

Ich vermute, dass es an auch dieser Zeile liegt, wo das shl eben nicht das Integer richtig weiterschieben kann.

  Result := Integer(1) shl (BitPos - 1); Ja, das ganze als Cardinal oder UInt32 sollte das lösen.

Ich habe die Frage aber so verstanden, warum die Zeile oben eben bei Integer das Bit nicht richtig weiterschiebt, bei Cardinal aber doch.

https://www.oreilly.com/library/view...595/re295.html

Geändert von Rollo62 (28. Mär 2024 um 06:40 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz