AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

2Er Komplement nach Signed Char umwandeln

Ein Thema von hedie · begonnen am 2. Jan 2011 · letzter Beitrag vom 2. Jan 2011
Antwort Antwort
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

2Er Komplement nach Signed Char umwandeln

  Alt 2. Jan 2011, 12:35
Hallo Zusammen...

Von einer Hardware erhalte ich über den ComPort eine 2er Komplement Zahl.
Diese liegt in einer integer Variabel (ist jedoch nur ein Byte gross!)

Diese würde ich nun gerne Umwandeln und in einer Signed Char Variabel abspeichern so dass ich danach die Werte 127 - -128 habe.

Wie kann man dies machen?

Danke schonmal
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: 2Er Komplement nach Signed Char umwandeln

  Alt 2. Jan 2011, 12:48
Kannst Du sie nicht einfach nach ShortInt casten? Oder habe ich Dich völlig falsch verstanden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#3

AW: 2Er Komplement nach Signed Char umwandeln

  Alt 2. Jan 2011, 13:01
Kannst Du sie nicht einfach nach ShortInt casten? Oder habe ich Dich völlig falsch verstanden?
Was genau macht den das ShortInt?
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: 2Er Komplement nach Signed Char umwandeln

  Alt 2. Jan 2011, 13:04
ShortInt ist ein Byte mit Vorzeichen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#5

AW: 2Er Komplement nach Signed Char umwandeln

  Alt 2. Jan 2011, 13:14
ah sehr schön

Gibt es auch noch eine funktion um ein ShortInt mit vorzeichen in einem Label auszugeben?
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: 2Er Komplement nach Signed Char umwandeln

  Alt 2. Jan 2011, 13:16
Wieso nicht einfachDeinLabel.Caption := IntToStr(ShortIntValue);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#7

AW: 2Er Komplement nach Signed Char umwandeln

  Alt 2. Jan 2011, 13:18
Weil dann das Label nur Werte von 0 - 127 anzeigt... Jedoch das vorzeichen nicht.
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#8

AW: 2Er Komplement nach Signed Char umwandeln

  Alt 2. Jan 2011, 13:21
Das Casten mit ShortInt scheint nicht zu funktionieren...

Ich weiss das die Hardware korrekte 2er Komplement Daten Sendet... (Sehe ich im Debugmodus)

Nach dem ShortInt casting hat diese Variable jedoch nur den Wert von 0 - 127
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: 2Er Komplement nach Signed Char umwandeln

  Alt 2. Jan 2011, 13:26
Dann machst Du vielleicht etwas falsch. Ein kleiner Test bei mir (nur ein Button und ein Label auf der Form):
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := IntToStr(ShortInt(Random(256)));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;
Klappt wunderbar.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#10

AW: 2Er Komplement nach Signed Char umwandeln

  Alt 2. Jan 2011, 13:55
Hat funktioniert... Besten Dank

Es lag am Datentyp bei der Sendenden Hardware
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz