[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Achso !
    Wie wärs mit der Definition:

    d MyChar 4
    d MyBin 10I 0 overlay(MyChar)

    Ich dachte du wolltest den expandierten, also druckbaren Hexwert.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Oct 2003
    Beiträge
    192
    Hmm,

    so richtig kriege ich das immer noch nicht hin.

    Ich bekomme egal was ich probiere nie eine einfach Zahlenfolge ala 0101 heraus.

    Eventuell drücke ich mich ja auch unklar aus...

    Also:

    Ich will an ein PC Programm einen Zähler übermitteln.
    Diese PC Programm erwartet den Zähler in Binärem Format
    Sprich: 1 = 000 000 001
    2 = 000 000 010
    3 = 000 000 011
    etc.

    Also wollte ich nur immer 1 auf den Wert draufaddieren in Binär und dann das Ergebnis in eine Alpha variable packen (ich muss einen String per Socket übermitteln)

    Und mit den oben genannten Sachen bekomme ich immer nur seltsame Werte heraus die in den Millionen liegen obwohl ich als Ergebnis halt 001 oder 010 erwarte.

    Ich gehe nun erstmal dazu über mir einfach selbst einen Binärzähler zu bauen.. nur sollte wem was einfallen dann freue ich mich auf die Lösung, denn so kann es ja eigentlich nicht völlig korrekt sein.

    Dank euch trotzdem

    Rince

  3. #3
    Registriert seit
    Aug 2004
    Beiträge
    923

    binär

    Zitat Zitat von Rincewind
    .........
    Ich gehe nun erstmal dazu über mir einfach selbst einen Binärzähler zu bauen.. nur sollte wem was einfallen dann freue ich mich auf die Lösung, denn so kann es ja eigentlich nicht völlig korrekt sein.

    Dank euch trotzdem

    Rince
    hello,

    da gabs ja vor ewigkeiten schon in der qusrtool das cmd CVTDECBIN4 bzw. CVTBIN4DEC für umgekehrt...
    wenn du das bzw. die sourcen bei dir noch findest kannst du dir evtl. etwas arbeit sparen...
    um eine zahl der größenordnung 1099511627775 abzudecken, brauchts 40 stellen binär wenn ich richtig gezählt habe...

    viel spass beim basteln des binärzählers...

    kuempi

  4. #4
    Registriert seit
    Dec 2000
    Beiträge
    450
    Das Binärfeld auf der AS/400 entspricht doch einem Integer oder Long auf dem PC. Kannst du da nicht den Wert direkt übergeben ohne Charakter-Feld? (Habe noch nix mit Sockets gemacht, deshalb ehr eine Frage, als eine Antwort)

    Bruno

  5. #5
    Registriert seit
    Aug 2004
    Beiträge
    923

    binärzahl

    also das ist wirklich kein akt ne dezimalzahl als binärstring auszugeben...

    ich hab inclusive wertzuweisung (init) vorher und dsply nach bildschirm und last record setzen mit return 18 zeilen rpg (old style).

    will sagen wir reden hier von nem knackigen fünfzeiler.

    k.

  6. #6
    Registriert seit
    Oct 2003
    Beiträge
    192
    @Kuempi
    Na dann ist es ja für dich ein leichtes diesen 5-Zeiler hier zu posten. (Mir würde auch der 18 zeilen Old RPG Style reichen)



    @Bruno Bei der Socketübergabe schicke ich über bestimmte TCP-IP verbindungen Strings, ich brauche dafür also Alphazeichen.

  7. #7
    Registriert seit
    Aug 2004
    Beiträge
    923

    posten

    Zitat Zitat von Rincewind
    @Kuempi
    Na dann ist es ja für dich ein leichtes diesen 5-Zeiler hier zu posten. (Mir würde auch der 18 zeilen Old RPG Style reichen)



    @Bruno Bei der Socketübergabe schicke ich über bestimmte TCP-IP verbindungen Strings, ich brauche dafür also Alphazeichen.
    *seufz*
    hey ein klein wenig solltest du dir auch den kopf zerbrechen finde ich.
    ich mag ja die leute gar nicht die hier nach lösungen schreien und alles vorgekaut haben wollen.
    du arbeitest aber recht aktiv hier mit deshalb gilt das nicht für dich.
    deshalb kriegste nicht alles aber das meiste:
    C 1 DO 40 F
    C ZAHL DIV 2 ZAHL
    C MVR REST
    C 41 SUB F FX
    C MOVE REST OUT,FX
    C ZAHL IFEQ 0
    C ITER
    C ENDIF
    C ENDDO
    zahl ist die dezimale zahl die umgesetzt werden soll und out dann der ausgabestring später. (den hatte ich als element 40 / 1 definiert)
    ich denke mal den rest schaffst du alleine...

    die logik habe ich aus nem internetreferat von hier:
    http://www.metalltechnik-online.de/m...1/1-9regel.htm

    have fun

    kuempi

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Naja, dann will ich mal nicht so sein:


    Code:
     
    hbnddir('QC2LE') dftactgrp(*no) actgrp(*caller)
    
    d strtol		pr			10I 0 extproc('strtol')
    d nptr						  *   options(*string) value
    d endptr						*   value
    d base						10I 0 value
    
    d itoa		  pr			  *   extproc('__itoa')
    d ival						10I 0 value
    d strptr						*   value 
    d base						10I 0 value 
    
    d MyInt		 s			 10I 0
    d MyStr		 s			 34	inz('10010001')
    d MyPtr		 s			   *
    
    c/free
    	MyInt = strtol(MyStr: %addr(MyPtr) :2) + 1;
    	itoa(MyInt: %addr(MyStr): 2);
    	MyStr = %subst(MyStr:1:%scan(x'00':MyStr)-1);
    	return;
    /end-free
    Die Funktion "strtol" konvertiert einen String in einen Long, wobei als Basis 2 - 36 angegeben werden kann.
    Die Funktion "itoa" macht das Ganze dann umgekehrt.

    Die letzte Anweisung ist nur für das Entfernen des Nul-Zeichens.
    Last edited by Fuerchau; 10-03-05 at 11:36.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Oct 2003
    Beiträge
    192
    Okay Okay :-)

    Da lag wohl ein Missverständnis meinerseits vor...

    Dachte du hättest einen 5-zeiler für das Binäre rechnen & anzeigen

    Diese Art der Umsetzung in eine binäre Zahl habe ich auch selbst entwickeln können (schliesslich schimpft man sich ja selbst Programmierer).


    @Fuerchau
    Ich sehe immer mehr und mehr dass ich C lernen sollte... Ich werde deinen Sourcecode einfach mal so ausprobieren, wenn es funktioniert werde ich mich mal bemühen immer mehr und mehr von C zu begreifen, scheint ja doch recht praktisch zu sein.


    Also:
    THX @all


    Gruss

    Rince

Similar Threads

  1. Antworten: 3
    Letzter Beitrag: 25-01-07, 09:29
  2. Wirres SQL Ergebnis
    By lyrics in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-08-06, 12:10
  3. Teildatei mit SQL anzeigen
    By Rico in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 06-07-06, 16:25
  4. Spooldatei sofort anzeigen
    By dino in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 30-05-06, 13:38
  5. Eingabefelder im Command reverse anzeigen
    By becama in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-05-06, 19:46

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •