Achso, ich dachte, du brauchst die andere Richtung...
Hab grad aml was gehackt und das scheint es zu tun. Frag nicht, wie ich drauf komme, ist mathematische Intuition... *fg*
i Läuft von 0 bis 2^n und wird Gray-decodiert. Scheint zu stimmenCode:import java.io.*; public class Gray { public static void main (String[] args) { System.out.println ("Hallo Welt!"); int n = 2; try { if (args.length >= 1) n = Integer.parseInt (args[0]); } catch (Exception ex) {} System.out.println ("n = " + n); for (int i=0; i < (1 << n); i++) { int dec = 0; int ii = i; for (int b = n-1; b >= 0; b--) { if (0 != (ii & (1 << b))) { dec |= (1 << b); ii ^= 0xffffff; } } System.out.println ("[" + i + "] -> " + dec); } } }
In C sieht's dann genauso aus.
Code:D:\java\sources>java -cp . Gray 4 Hallo Welt! n = 4 [0] -> 0 [1] -> 1 [2] -> 3 [3] -> 2 [4] -> 6 [5] -> 7 [6] -> 5 [7] -> 4 [8] -> 12 [9] -> 13 [10] -> 15 [11] -> 14 [12] -> 10 [13] -> 11 [14] -> 9 [15] -> 8







Zitieren

Lesezeichen