![]() |
signed and unsigned types
Zitat:
Delphi-Quellcode:
a := a + (((c and 4278190080) div 16777216) and 255);
a := (((Buf[dx, dy] and 4278190080) div 16777216) and 255) - d; gruss |
AW: signed and unsigned types
Zitat:
Gruß K-H |
AW: signed and unsigned types
Du erkennst was Singed und Unsinged ist am Datentyp.
Von daher wäre es hilfreich gewesen wenn du die Deklaration der Variablen auch gepostet hättest. Du kannst die Warnung loswerden, indem du entweder die Deklarationen vereinheitlichst oder in der Rechnung durch explizite Casts vereinheitlichst. |
AW: signed and unsigned types
Zitat:
Delphi-Quellcode:
x, y, c, w, h, a, d: Integer;
a und c sind beides Integer.. deshalb frage ich ja hier nach ;) und nun?
Delphi-Quellcode:
a := a + (((c and 4278190080) div 16777216) and 255);
gruss |
AW: signed and unsigned types
Zitat:
Delphi-Quellcode:
a := ((Integer((Buf[dx, dy]) and 4278190080) div 16777216) and 255) - d;
gruss |
AW: signed and unsigned types
4278190080 ist aber kein Integer...
|
AW: signed and unsigned types
Zitat:
Delphi-Quellcode:
a := ((Integer((Buf[dx, dy]) and 4278190080) div 16777216) and 255) - d;
ok du meinst dann wohl so!
Delphi-Quellcode:
((Integer(c and 4278190080) div 16777216) and 255);
obwohl c ein Integer ist ? Nun gut sei's drum.. :) verstehe was du meinst der wert (4278190080) passt nicht in einen Integer. gruss |
AW: signed and unsigned types
4278190080 ist ein unsigned int, weil die Zahl zu groß ist für den Datentyp "Integer".
Wenn Buf[dx,dy] ein byte zurückgibt und du dann ein "and $FF000000" (4278190080) darauf anwendest, dann bringt dir das nichts. Dann kannst du auch direkt "0" schreiben. Was genau hast du da vor? Und wenn du mit Bitmasken/Bitoperationen arbeitest würde ich dir empfehlen die Hexadezimale Notation zu verwenden - die ist in dem Fall unendlich lesbarer. |
AW: signed and unsigned types
Zitat:
Zitat:
gruss |
AW: signed and unsigned types
Und nochmal:
Delphi-Quellcode:
Das ergibt IMMER 0 :!: Sicher das du das willst?
// :
Buf[dx, dy] and 4278190080 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:55 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