Show TOC Anfang des Inhaltsbereichs

Vergleiche zwischen Bit-Mustern  Dokument im Navigationsbaum lokalisieren

Mit den Operatoren O, Z und M (siehe Schlüsselwortdokumentation) lässt sich die Bitfolge, die der erste Operand im Speicher darstellt mit der Bitfolge des zweiten Operanden vergleichen. 

Beispiel

Achtung! Das folgende Programm wird in Unicode-Systemen nicht mehr unterstützt. REPORT demo_log_expr_bits .

DATA: text(1) TYPE c VALUE 'C',
      hex(1)  TYPE x,
      i       TYPE i.

hex = 0.

DO 256 TIMES.

  i = hex.

  IF text O hex.
    WRITE: / hex, i.
  
ENDIF.

  hex = hex + 1.

ENDDO.

Die Listenausgabe sieht folgendermaßen aus:

00          0
01          1
02          2
03          3
40         64
41         65
42         66
43         67

In diesem Beispiel wird die Bitfolge des Zeichens 'C' mit allen hexadezimalen Zahlen hex zwischen '00' und 'FF' (255 im Dezimalsystem) mit Hilfe des Operators O verglichen. Der Dezimalwert von hex wird mit Hilfe der automatischen Typkonvertierung während der Zuweisung von hex zu i ermittelt. Ist der Vergleich wahr, erscheinen die hexadezimale Zahl und ihr Dezimalwert auf dem Bildschirm. Die folgende Tabelle zeigt die Bitfolgen dieser Zahlen.

Hexadezimal

Dezimal

Bitfolgen

00

0

00000000

01

1

00000001

02

2

00000010

03

3

00000011

40

64

01000000

41

65

01000001

42

66

01000010

43

67

01000011

Die Bitfolge des Zeichens 'C' ist bei der hier verwendeten Plattform durch seinen ASCII-Code 67 festgelegt. Es erscheinen genau die Zeichen in der Listenausgabe, bei denen die gleiche Bitposition mit 1 gefüllt ist, wie in der Bitfolge von 'C'. Die Bitfolge 01000011 ist die Obermenge dieser Bitfolgen.

 

Ende des Inhaltsbereichs