Wieviel Bit benötigt eine zahl?
Hallo,
wieviel Bit benötigt eine Zahl? Ich habe eine Materialnummer aus 12 Zahlen, die ich auf einen Transponder speichern will, dafür müsste ich wissen wie groß ein Transponder sein muss, um die 12-Stellige Zahl darauf zu speichern.
5 Antworten
![](https://images.gutefrage.net/media/user/RakonDark/1552185525294_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1552185525000)
Bei 12 Zahlen Biasis 10 sind
1 00 00 00 00 00 00
Zustände möglich.
Also müsste man soviele Bits nehmen um diese Zustände unterscheidbar zu machen.
Das sind auf jedenfall weniger als 12x4 da man ja nicht die Zahlen 0 bis 9 für sich speichern muss , den bei 4 Bits bleiben 6 Zustände ungenutzt und das pro zahl .
Such also einfach wieviel Bits für die oben genannte Anzahl an Zuständen benötigt wird.
![](https://images.gutefrage.net/media/user/RakonDark/1552185525294_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1552185525000)
Nicht vergessen die Materialnummer 0 könnte es auch geben . Deswegen ist es 1 Zustand mehr als 99 99 99 99 99 99 .
![](https://images.gutefrage.net/media/user/RakonDark/1552185525294_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1552185525000)
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Eine normale Zahl (Basis 10) mit 12 Ziffern benötigt 39 bits - "999.999.999.999" in Binärschreibweise.
Was du wirklich benötigst hängt davon ab, wie du das schreiben willst. und welche Daten das schreibende Gerät bzw. die Software hat.
Du hast die Möglichkeit das als Text zu schreiben, dann benötigst du 12 bytes = 12*8 = 96 bits, wenn du einen Datentyp auswählen kannst, wäre z.B. Long mit 64 bits auskommen.
Bedenke, dass es auch Verlust geben kann, z.B. wenn der Transponder die Zahl nicht direkt speichern kann, sondern eine Art File-System benötigt.
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
Ich möchte mit einem Reader einen Transponder beschreiben, nämlich die 12-Stellige (0-9) Materialnummer.
![](https://images.gutefrage.net/media/user/Royce/1444745269_nmmslarge.jpg?v=1444745269000)
Das lässt sich nicht so einfach sagen. Was für eine Art Zahl meinst du? Basis 10, Basis 2, Basis 8, Basis 16?
Sind das ganzzahlige wertige oder Gleitkommazahlen?
Bei dezimalen Ganzzahlen könntest du pro Ziffer 4 Bit verwenden, das ganze mal 12 (weil 12 Ziffern). Da kämst du auf 48 Bit, respektive 6 Byte
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
Basis 10, also von 0-9. Es sind einfache Zahlen von 0-9, also keine Gleitkommazahlen.
![](https://images.gutefrage.net/media/user/RakonDark/1552185525294_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1552185525000)
Die Frage auf die Frage ist ja lustig . Gleitkommazahl bei einer Materialnummer. Ist das Material kaputt gibt es ein Komma für die Kaputtheitsangabe :) ;) lol.
![](https://images.gutefrage.net/media/user/Isendrak/1555747535308_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1555747535000)
Ist das Material kaputt gibt es ein Komma für die Kaputtheitsangabe :) ;) lol.
012345678912,00 = Alles OK
012345678912,50 = Halb Kaputt - Auf ebay: "Wie neu" ;)
012345678912,99 = Muss nur noch in die Tonne...
Oder wie meinst? %D
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Je nachdem wie Du sie speichern willst.
Stichwort: Ganzzahltypen oder BCD
![](https://images.gutefrage.net/media/user/Barolo88/1444748435_nmmslarge.jpg?v=1444748435000)
8 Bit ist ein Byte das braucht man für eine zahl du brachst also mindestens 96 Bit Transponder
![](https://images.gutefrage.net/media/user/Royce/1444745269_nmmslarge.jpg?v=1444745269000)
![](https://images.gutefrage.net/media/user/RakonDark/1552185525294_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1552185525000)
Es geht nicht um die Zahl sondern um Zustände . 0 bis 9 wären 10 Zustände die kann man schon mit 4 Bits darstellen. Das war schon immer so .
Also eigentlich nur 1 00 00 00 00 00 00 solange durch 2 teilen und dabei mit zählen bis du bei 0 bist.