Registriert seit: 12. Feb 2005
193 Beiträge
|
fehler bei glkGereons baseToBase unit
11. Mai 2005, 20:15
wollte gestern mal eine liste mit in binär codierten zahlen erzeugen.
und habe dafür glkgereon's code hergenommen, was nicht funktioniert.
test-szenario:
Delphi-Quellcode:
uses ..., ubasetobase;
function mathop(z1,z2:dword;op:dword):dword;
begin
case op of
0 : result := z1 and z2;
1 : result := z1 or z2;
2 : result := z1 xor z2;
3 : result := z1 shr z2;
4 : result := z1 shl z2;
else result := 0
end;
end;
function dw2system(d,base:dword;strlen:byte): string;
// converts d in a system based on base
// like dw2system(255,2,8) = '11111111'
// or dw2system(255,16,2) = 'FF'
// by retnyg
const cypher = ' 0123456789ABCDEF';
var i : dword;
begin
setlength(result,strlen);
fillchar(pointer(result)^,strlen,48);
while (d > 0) and (strlen > 0) do begin
i := d mod base;
result[strlen] := cypher[i+1];
dec(d,i);
dec(strlen);
d:=d div base;
end;
end;
function dectobin(z:dword): string;
var s: string;l:dword;
begin
result := dw2system(z,2,8); // my code - works
// result:= dectobase(z,2); // glkgereon's code - not work
end;
function outstr(n:dword): string;
begin
result :=dectobin(n);
result:=inttostr(n)+' :'+result;
end;
procedure TForm1.Button4Click(Sender: TObject);
const ca=' ;';
var i,j,z2 : integer;
append: boolean;
s: string;
f:textfile;
begin
z2:=7;
append := false;
assignfile(f,' out.csv');
rewrite(f);
writeln(f,' number1;number2;AND;OR;XOR;SHR;SHL');
for i := 0 to 255 do begin
s := outstr(i) + ca + outstr(z2);
for j := 0 to 4 do s := s + ca + outstr(mathop(i,z2,j));
writeln(f,s);
end;
closefile(f);
sendmessage( handle,wm_close,0,0);
end;
output der unit UbaseToBase [falsch] [edit=alcaeus](siehe Anhang)[/edit]
output meines codes [richtig]:
Code:
number1;number2;AND;OR;XOR;SHR;SHL
0:00000000;7:00000111;0:00000000;7:00000111;7:00000111;0:00000000;0:00000000
1:00000001;7:00000111;1:00000001;7:00000111;6:00000110;0:00000000;128:10000000
2:00000010;7:00000111;2:00000010;7:00000111;5:00000101;0:00000000;256:00000000
3:00000011;7:00000111;3:00000011;7:00000111;4:00000100;0:00000000;384:10000000
4:00000100;7:00000111;4:00000100;7:00000111;3:00000011;0:00000000;512:00000000
5:00000101;7:00000111;5:00000101;7:00000111;2:00000010;0:00000000;640:10000000
6:00000110;7:00000111;6:00000110;7:00000111;1:00000001;0:00000000;768:00000000
7:00000111;7:00000111;7:00000111;7:00000111;0:00000000;0:00000000;896:10000000
8:00001000;7:00000111;0:00000000;15:00001111;15:00001111;0:00000000;1024:00000000
9:00001001;7:00000111;1:00000001;15:00001111;14:00001110;0:00000000;1152:10000000
10:00001010;7:00000111;2:00000010;15:00001111;13:00001101;0:00000000;1280:00000000
11:00001011;7:00000111;3:00000011;15:00001111;12:00001100;0:00000000;1408:10000000
12:00001100;7:00000111;4:00000100;15:00001111;11:00001011;0:00000000;1536:00000000
13:00001101;7:00000111;5:00000101;15:00001111;10:00001010;0:00000000;1664:10000000
14:00001110;7:00000111;6:00000110;15:00001111;9:00001001;0:00000000;1792:00000000
15:00001111;7:00000111;7:00000111;15:00001111;8:00001000;0:00000000;1920:10000000
16:00010000;7:00000111;0:00000000;23:00010111;23:00010111;0:00000000;2048:00000000
17:00010001;7:00000111;1:00000001;23:00010111;22:00010110;0:00000000;2176:10000000
18:00010010;7:00000111;2:00000010;23:00010111;21:00010101;0:00000000;2304:00000000
19:00010011;7:00000111;3:00000011;23:00010111;20:00010100;0:00000000;2432:10000000
20:00010100;7:00000111;4:00000100;23:00010111;19:00010011;0:00000000;2560:00000000
21:00010101;7:00000111;5:00000101;23:00010111;18:00010010;0:00000000;2688:10000000
22:00010110;7:00000111;6:00000110;23:00010111;17:00010001;0:00000000;2816:00000000
23:00010111;7:00000111;7:00000111;23:00010111;16:00010000;0:00000000;2944:10000000
24:00011000;7:00000111;0:00000000;31:00011111;31:00011111;0:00000000;3072:00000000
25:00011001;7:00000111;1:00000001;31:00011111;30:00011110;0:00000000;3200:10000000
26:00011010;7:00000111;2:00000010;31:00011111;29:00011101;0:00000000;3328:00000000
27:00011011;7:00000111;3:00000011;31:00011111;28:00011100;0:00000000;3456:10000000
28:00011100;7:00000111;4:00000100;31:00011111;27:00011011;0:00000000;3584:00000000
29:00011101;7:00000111;5:00000101;31:00011111;26:00011010;0:00000000;3712:10000000
30:00011110;7:00000111;6:00000110;31:00011111;25:00011001;0:00000000;3840:00000000
31:00011111;7:00000111;7:00000111;31:00011111;24:00011000;0:00000000;3968:10000000
32:00100000;7:00000111;0:00000000;39:00100111;39:00100111;0:00000000;4096:00000000
33:00100001;7:00000111;1:00000001;39:00100111;38:00100110;0:00000000;4224:10000000
34:00100010;7:00000111;2:00000010;39:00100111;37:00100101;0:00000000;4352:00000000
35:00100011;7:00000111;3:00000011;39:00100111;36:00100100;0:00000000;4480:10000000
36:00100100;7:00000111;4:00000100;39:00100111;35:00100011;0:00000000;4608:00000000
37:00100101;7:00000111;5:00000101;39:00100111;34:00100010;0:00000000;4736:10000000
38:00100110;7:00000111;6:00000110;39:00100111;33:00100001;0:00000000;4864:00000000
39:00100111;7:00000111;7:00000111;39:00100111;32:00100000;0:00000000;4992:10000000
40:00101000;7:00000111;0:00000000;47:00101111;47:00101111;0:00000000;5120:00000000
41:00101001;7:00000111;1:00000001;47:00101111;46:00101110;0:00000000;5248:10000000
42:00101010;7:00000111;2:00000010;47:00101111;45:00101101;0:00000000;5376:00000000
43:00101011;7:00000111;3:00000011;47:00101111;44:00101100;0:00000000;5504:10000000
44:00101100;7:00000111;4:00000100;47:00101111;43:00101011;0:00000000;5632:00000000
45:00101101;7:00000111;5:00000101;47:00101111;42:00101010;0:00000000;5760:10000000
46:00101110;7:00000111;6:00000110;47:00101111;41:00101001;0:00000000;5888:00000000
47:00101111;7:00000111;7:00000111;47:00101111;40:00101000;0:00000000;6016:10000000
48:00110000;7:00000111;0:00000000;55:00110111;55:00110111;0:00000000;6144:00000000
49:00110001;7:00000111;1:00000001;55:00110111;54:00110110;0:00000000;6272:10000000
50:00110010;7:00000111;2:00000010;55:00110111;53:00110101;0:00000000;6400:00000000
51:00110011;7:00000111;3:00000011;55:00110111;52:00110100;0:00000000;6528:10000000
52:00110100;7:00000111;4:00000100;55:00110111;51:00110011;0:00000000;6656:00000000
53:00110101;7:00000111;5:00000101;55:00110111;50:00110010;0:00000000;6784:10000000
54:00110110;7:00000111;6:00000110;55:00110111;49:00110001;0:00000000;6912:00000000
55:00110111;7:00000111;7:00000111;55:00110111;48:00110000;0:00000000;7040:10000000
56:00111000;7:00000111;0:00000000;63:00111111;63:00111111;0:00000000;7168:00000000
57:00111001;7:00000111;1:00000001;63:00111111;62:00111110;0:00000000;7296:10000000
58:00111010;7:00000111;2:00000010;63:00111111;61:00111101;0:00000000;7424:00000000
59:00111011;7:00000111;3:00000011;63:00111111;60:00111100;0:00000000;7552:10000000
60:00111100;7:00000111;4:00000100;63:00111111;59:00111011;0:00000000;7680:00000000
61:00111101;7:00000111;5:00000101;63:00111111;58:00111010;0:00000000;7808:10000000
62:00111110;7:00000111;6:00000110;63:00111111;57:00111001;0:00000000;7936:00000000
63:00111111;7:00000111;7:00000111;63:00111111;56:00111000;0:00000000;8064:10000000
64:01000000;7:00000111;0:00000000;71:01000111;71:01000111;0:00000000;8192:00000000
65:01000001;7:00000111;1:00000001;71:01000111;70:01000110;0:00000000;8320:10000000
66:01000010;7:00000111;2:00000010;71:01000111;69:01000101;0:00000000;8448:00000000
67:01000011;7:00000111;3:00000011;71:01000111;68:01000100;0:00000000;8576:10000000
68:01000100;7:00000111;4:00000100;71:01000111;67:01000011;0:00000000;8704:00000000
69:01000101;7:00000111;5:00000101;71:01000111;66:01000010;0:00000000;8832:10000000
70:01000110;7:00000111;6:00000110;71:01000111;65:01000001;0:00000000;8960:00000000
71:01000111;7:00000111;7:00000111;71:01000111;64:01000000;0:00000000;9088:10000000
72:01001000;7:00000111;0:00000000;79:01001111;79:01001111;0:00000000;9216:00000000
73:01001001;7:00000111;1:00000001;79:01001111;78:01001110;0:00000000;9344:10000000
74:01001010;7:00000111;2:00000010;79:01001111;77:01001101;0:00000000;9472:00000000
75:01001011;7:00000111;3:00000011;79:01001111;76:01001100;0:00000000;9600:10000000
76:01001100;7:00000111;4:00000100;79:01001111;75:01001011;0:00000000;9728:00000000
77:01001101;7:00000111;5:00000101;79:01001111;74:01001010;0:00000000;9856:10000000
78:01001110;7:00000111;6:00000110;79:01001111;73:01001001;0:00000000;9984:00000000
79:01001111;7:00000111;7:00000111;79:01001111;72:01001000;0:00000000;10112:10000000
80:01010000;7:00000111;0:00000000;87:01010111;87:01010111;0:00000000;10240:00000000
81:01010001;7:00000111;1:00000001;87:01010111;86:01010110;0:00000000;10368:10000000
82:01010010;7:00000111;2:00000010;87:01010111;85:01010101;0:00000000;10496:00000000
83:01010011;7:00000111;3:00000011;87:01010111;84:01010100;0:00000000;10624:10000000
... usw
@admin : diesmal bitte ned wieder reinpfuschen
[edit=alcaeus]Auch wenn der Beitrag nicht so oft gelesen wird, hab ich mal den falschen Output als Anhang eingefuegt. Die Scrollbars waren gewaltig Mfg, alcaeus[/edit]
|
|
|