[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2020
    Beiträge
    2

    Ein Binchar feld bitweise füllen

    Hallo,

    Ich kämpfe momentan mit folgendem Problem.
    Ich muss ein Feldtyp von binchar (8 byte) ab der vierzigste bit mit etwas füllen(z.b mit integer 12)

    Für jede Hilfe bin ich Dankbar

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    18.589
    Jedes Byte ist vom Typ UINT(3) und kann dann mit den Werten aus beliebigen Kombinationen von 2er Potenzen 1, 2, 4, 8 , 16, 32, 64, 128 gefüllt werden.
    Nun must du nur noch abzählen und die passenden Werte setzen.

    dcl-ds;
    v1 uint(3) inz 1;
    v1 uint(3) inz 2;
    v1 uint(3) inz 4;
    v1 uint(3) inz 8;
    v1 uint(3) inz 16;
    v1 uint(3) inz 32;
    v1 uint(3) inz 64;
    v1 uint(3) inz 128;
    v uint(3) dim(8) pos(1);
    end-ds;

    dcl-ds;
    bytes8 char(8);
    byte uint(3) dim(8) pos 1;
    end-ds;

    dcl-s bytepos uint(3);
    dcl-s bitpos uint(3);

    bytepos = %int(Bits / 8) + 1;
    bitpos = %rem(Bits:8) + 1;

    Byte(bytepos) += v(bitpos); // Bit setzen
    Byte(bytepos) -= v(bitpo); // Bit löschen

    Oder klassisch mit BITON und BITOFF bzw. %bitand() und %bitnot() => siehe Referenz.

    Oder du definierst das Feld als UINT(20) => 8 Bytes und nimmst eine Tabelle mit den 64 Werten.
    Um diese nicht ausrechnen zu müssen, kannst du die einer Schleife füllen:
    for i=0 to 63;
    v(i+1) = 2**i;
    next;

    Bestimmt fällt da jemandem noch was anderes kompliziertes ein.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    May 2020
    Beiträge
    2
    Vielen Dank für die Antwort

Ähnliche Themen

  1. cpytostmf mit Variablen Inhalten füllen
    Von ora im Forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 22-06-19, 17:26
  2. input/output feld dspf --> automatisch aus Feld springen
    Von _MG_ im Forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 15-09-17, 15:02
  3. Globale SQL-Variable im RGP-Programm füllen
    Von Sebastian85 im Forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 05-07-17, 13:16
  4. Numerisches Feld nicht rechtsbündig füllen
    Von harkne im Forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 11-04-16, 15:22
  5. Subfile direkt durch SQL Statement füllen
    Von TheDevil im Forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 14-11-13, 08:15

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •