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


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
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.