AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Prism Migration nach .NET: Bit-Operatoren und Double
Thema durchsuchen
Ansicht
Themen-Optionen

Migration nach .NET: Bit-Operatoren und Double

Ein Thema von dkoehler · begonnen am 2. Nov 2007 · letzter Beitrag vom 2. Nov 2007
 
Dax
(Gast)

n/a Beiträge
 
#6

Re: Migration nach .NET: Bit-Operatoren und Double

  Alt 2. Nov 2007, 18:27
Falls du nicht den unsafe-Code-Umweg, den Christian vorschlägt, gehen willst, könnte folgendes funktionieren. Ich hoffe, Delphi untersützt sowas, ansonsten nutze direkt den C#-Code (falls er denn funktioniert)
Code:
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Explicit)]
struct DoubleInt64Union
{
  [FieldOffset(0)]
  public readonly double Double;
  [FieldOffset(0)]
  public readonly long Int64;

  public DoubleInt64Union(double d)
  {
    this.Double = d;
  }

  // Zum Vergleich, das BitConverter-Teil
  public static unsafe long DoubleToInt64Bits(double value)
  {
    return *((long*)&value); // <- das hast du in Delphi auch getan
  }
}
Das ist im Prinzip das selbe wie variante Records in Delphi, und du kannst wie gehabt das Int64-Feld mit deinem $(0|8)0* vergleichen.
  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 18:32 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