Forum: PC-Programmierung vb.net: eigene Rechenregeln (HEX)


von Andij (Gast)


Lesenswert?

Hallo, es geht darum das ich eine SPS habe dessen Software bestimmte 
Prüfwerte wie folgt berechnet:

(HEX) A-F, 8, 9, dann geht es von vorne los.
Heißt: F + 2 = 9 und
                                       F + 3 = A, weil F -> 8 -> 9 -> A.

Mit
1
[Wert z.B. F] + &H2
 kommt natürlich in vb (oder generell) dann 11 raus.

Ich bräuchte einen Denkansatz oder ein grobes Beispiel wie man das in VB 
so festlegen kann, das nur A-F,8,9 verwendet wird, und es nach der 9 
wieder bei A beginnt.

Kann jemand helfen?

Danke im Voraus

von Andi (Gast)


Lesenswert?

Wert = ((Wert + n) and 7) or 8

von Jay Low (Gast)


Lesenswert?

So?
1
Public Class Program
2
    Public Shared Sub Main()
3
        Dim arr As Byte() = {&HA, &HB, &HC, &HD, &HE, &HF, &H8, &H9}
4
5
        For i As Integer = 0 To 100 - 1
6
            System.Console.WriteLine("{0}) {1:X}", i, arr(i Mod arr.Length))
7
        Next
8
    End Sub
9
End Class

Also eigentlich in C# und dann konvertiert:
1
public class Program
2
{
3
  public static void Main()
4
  {
5
    byte[] arr = { 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x8, 0x9 };
6
    for(int i = 0; i < 100; i++)
7
    {
8
      System.Console.WriteLine("{0}) {1:X}", i, arr[i % arr.Length]);
9
    }
10
  }
11
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.