Hallo Herr Schnoor,
> was Sie da aufzeigen, mag ja interessant sein, hat
> aber mit den <index>Ziffern nichts zu tun.
> Für <index>Ziffern gelten weder “Bits” noch ”Bytes”,
> sondern ausschließlich die Position der Ziffer im String.
> (Positionswert).
Diese Bit- und Byte-Abstinenz besagter Index-Ziffern haben Sie danach
in einer privaten Mail demonstriert anhand von 8 Exemplaren mit
CPM-Output-Gedöns
(leider wieder aus unbegreiflichen Gründen nicht in Worten
begründet oder erläutert), und zwar so:
=============== ZITAT-ANFANG ================
hier kommt meine Aufstellung der <index>Ziffern:
chose mode > S
Basis: 4096
insert system number: E
E
result: 40
insert system number: 10
10
result: 4096
4
insert system number: 1E
1E
result: 4136
4
Die <index>Ziffer "1E" steht in der Position [4096 + 40 = 4136].
insert system number: 20
20
result: 8192
4
insert system number: 2E
2E
result: 8232
4
Die <index>Ziffer "2E" steht in der Position [8192 + 40 = 8232]
insert system number: 30
30
result: 12288
5
insert system number: 3E
3E
result: 12328
5
Die <index>Ziffer "3E" steht in der Position [12288 + 40 = 12328]
insert system number: EE
EE
result: 163880
6
insert system number: E0
E0
result: 163840
6
Die <index>Ziffer "E0" steht in der Position [13880- 40 = 163840]
insert system number: KK0
KK0
result: 771940352
9
insert system number: KKE
KKE
result: 771940392
Das sollte doch genügen.
=============== ZITAT-ENDE =============
Da wird lediglich jede Indexzahl in eine äquivalente Dezimalzahl unmgewandelt.
Dies zeigt auch der mir zugesandte Programmcode der Datei Zahlensysteme.py:
==================================================================
elif modus == "S": # ----------------System -> Dezimal
-----------------------
system = basis
system = int(system)
print()
print()
syszahl = input(" Eingabe System-Zahl: ")
print("",syszahl)
basis = system
ergebnis = nachdez(basis,syszahl) ## Konvertierung der
4096-er Zahl <syszahl> in ein dezimales Äquivalent
print("
Ergebnis: ",ergebnis)
ergebnis = str(ergebnis)
print("
",len(ergebnis))
print()
========================================================
Diesen Code habe ich komprimiert und etwas erweitert, um zu zeigen,
daß bei ALLEN beteiligten Variablen (index, syszahl, ergebnis)
ÜBERRASCHENDERWEISE Bits und Bytes herauszukitzeln sind:
######################
from CPZiffernS import ziffern
from tools24 import *
basis = len(ziffern)
print(len(ziffern) == len(set(ziffern)))
print("Basis : %d" % basis)
# modus == "S": # System -> Dezimal
index = "E 10 1E 20 2E 30 3E EE E0 KK0 KKE".split()
for idx in index:
index10 = nachdez(basis, idx, ziffern)
numZeichen = len(idx)
numBytes = len(bytes(idx, 'utf8'))
Bytes = [ f'{x:08b}' for x in bytes(idx, 'utf8') ]
print("index : %9s\t(%d Zeichen ; %d Byte : %s)" % (idx, numZeichen,
numBytes, Bytes))
print("index10 : %9s\t(%d Zeichen ; %d Byte)\n" % (index10,
len(str(index10)), len(str(index10))))
==================================================================================
mit folgendem Ergebnis:
Basis : 4096
index : E (1 Zeichen ; 1 Byte = ['01000101'])
index10 : 40 (2 Zeichen ; 2 Byte)
index : 10 (2 Zeichen ; 2 Byte = ['00110001', '00110000'])
index10 : 4096 (4 Zeichen ; 4 Byte)
index : 1E (2 Zeichen ; 2 Byte = ['00110001', '01000101'])
index10 : 4136 (4 Zeichen ; 4 Byte)
index : 20 (2 Zeichen ; 2 Byte = ['00110010', '00110000'])
index10 : 8192 (4 Zeichen ; 4 Byte)
index : 2E (2 Zeichen ; 2 Byte = ['00110010', '01000101'])
index10 : 8232 (4 Zeichen ; 4 Byte)
index : 30 (2 Zeichen ; 2 Byte = ['00110011', '00110000'])
index10 : 12288 (5 Zeichen ; 5 Byte)
index : 3E (2 Zeichen ; 2 Byte = ['00110011', '01000101'])
index10 : 12328 (5 Zeichen ; 5 Byte)
index : EE (2 Zeichen ; 2 Byte = ['01000101', '01000101'])
index10 : 163880 (6 Zeichen ; 6 Byte)
index : E0 (2 Zeichen ; 2 Byte = ['01000101', '00110000'])
index10 : 163840 (6 Zeichen ; 6 Byte)
index : KK0 (3 Zeichen ; 3 Byte = ['01001011', '01001011',
'00110000'])
index10 : 771940352 (9 Zeichen ; 9 Byte)
index : KKE (3 Zeichen ; 3 Byte = ['01001011', '01001011',
'01000101'])
index10 : 771940392 (9 Zeichen ; 9 Byte)
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an
[email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]