News:
|
Ich arbeite ungern mit Entwicklern aus Deutschland zusammen. Deutsche UNIs = Hilfsschule! Deutsche Entwickler schauen nur auf das Geld, nicht auf ihre eigene Leistung. Für das was du anscheinend machen willst, denke ich an das grosse Versagen von Deutschland (NIST-Einreichung --> Telekom). Für solche Anfragen solltest du nicht in Deutschland anfragen - einfach mal das Ausland nutzen. Ich hab das leider auch erst sehr spät begreifen müssen.
– boga 20.03.2014
|
||
@boga: Was hast Du denn geraucht? Alle in einen Topf werfen...na ja!
– Xantiva100 20.03.2014
|
||
2 |
@Boga: Nun, deutsche Hilfsschüler schaffen es immerhin, ihr Problem sauber zu beschreiben. Nicht wie Du in diesem Thread hier: http://codekicker.de/fragen/Dateispeicherung-Rechte-Stick
– Jens Duczmal 20.03.2014
|
|
@Sybille: Ich habe meiner Antwort ein Update zugefügt!
– Falkner 21.03.2014
|
||
1 |
Streitet euch ruhig weiter auf meiner Frage. Ich möchte mich hier nicht anschliessen...!
– Sybille 21.03.2014
|
public static ulong[] test(ulong[] u, int n)
{
ulong tmp1 = u[0], tmp2 = u[1];
u[0] = u[0] << n;
u[1] = u[1] >> n;
u[0] = u[0] | u[1];
u[1] = tmp2 << n;
tmp2 = tmp1 >> n;
u[1] = u[1] | tmp2;
return u;
}
using System;
using System.Text;
class Program
{
public static void Main(string[] args)
{
ulong[] dUl = new ulong[2];
dUl[0] = uint.MaxValue;
dUl[1] = 1;
string s1 = ConvertToBinary(dUl[0]);
string s2 = ConvertToBinary(dUl[1]);
Console.WriteLine(s1 + "-" + s2);
int n = 68;
int n2 = 128 - n;
dUl = TwoUlongRotation.RotL(dUl, n);
s1 = ConvertToBinary(dUl[0]);
s2 = ConvertToBinary(dUl[1]);
Console.WriteLine(s1 + "-" + s2);
dUl = TwoUlongRotation.RotL(dUl, n2);
s1 = ConvertToBinary(dUl[0]);
s2 = ConvertToBinary(dUl[1]);
Console.WriteLine(s1 + "-" + s2);
Console.Write("\nPress any key to continue . . . ");
Console.ReadKey(true);
}
private static string ConvertToBinary(ulong value)
{
if(value==0)
return "0";
int i = 64;
System.Text.StringBuilder b=new System.Text.StringBuilder();
while(i-- > -1)
{
b.Insert(0,((value&1)==1) ? '1' : '0');
value>>=1;
}
return b.ToString();
}
}
/*Statische Klasse*/
internal static class TwoUlongRotation
{
internal static ulong[] RotL(ulong[] u, int n)
{
ulong t1h, t1l, t2h, t2l;
n %= 128;
if(n == 128)
return u;
if(n == 64)
{
t1h = u[0];
u[0] = u[1];
u[1] = t1h;
return u;
}
if(n > 64)
{
t1h = u[0];
u[0] = u[1];
u[1] = t1h;
n -=64;
}
t1h = u[0] << n; t1l = u[0] >> (64 - n);
t2h = u[1] << n; t2l = u[1] >> (64 - n);
u[0] = t1h | t2l; u[1] = t2h | t1l;
return u;
}
}
|
@Falkner: Hey, du hast dir wirklich viel Mühe gemacht! Vielen Dank!!!!! Ich probiere das gleich mal aus.
– Sybille 21.03.2014
|
||
@Falkner: So, ich habe deinen Code eben eingebaut. Für mich sieht das so aus, als wenn es fehlerfrei funktioniert. Auf jeden Fall ist das ein Weg, der gut aussieht.
Was programmiertst du? Wie schreibt man so was in 20 Minuten? Musst nicht Antworten - nur wenn du willst. Danke nochmal! Ich glaube schon, dass ich das verwenden werde. – Sybille 21.03.2014
|
||
@Falkner: Datentyp selbst erstellen geht anscheinend nicht. Aber mit deinem Code bekomme ich meine Sache auch hin. Da die beste Antwort von dir kam und sehr hilfreich ist, setze ich den Haken bei deiner Antwort.
– Sybille 22.03.2014
|
||
@Sybille: Ich hatte viel zu tun. Deshalb schreibe ich erst jetzt einen Kommentar zu Deinen 3 Kommentaren. Ich betätige mich in einem Bereich, der sehr selten ist. Die Freude ist auf meiner Seite, wenn ich helfen konnte!
– Falkner 23.03.2014
|
|