Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > de.comp.lang.assembler > #1228
| From | Helmut Waitzmann <nn.throttle@xoxy.net> |
|---|---|
| Newsgroups | de.comp.lang.assembler |
| Subject | Re: nur für theoretischer Annahme ... |
| Date | 2022-01-16 06:44 +0100 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <83y23gdyke.fsf@helmutwaitzmann.news.arcor.de> (permalink) |
| References | <j4gip5Ffim2U1@mid.individual.net> |
Jens Kallup <kallup.jens@web.de>: >nur mal so für mein Verständnis: > > >kann ich eine beliebige Zahl bilden, die über die Bus-Breite >reicht ? > >mal angenommen ich habe 2 hex zahlen: > > >09 und 09 = 0909 > >dann bedeutet doch, dass das letzte Element einen Wert von >0..255 - 00..ff einsetzen kann > > ff = 255 >0100 = 256 >0102 = 257 >... >0100 = 1 * 255 0100 = 1 * 256 >01ff = 1 * 255 + 255 01ff = 1 * 256 + 255 > >0200 = 2 * 255 0200 = 2 * 256 >02ff = 2 * 255 + 255 02ff = 2 * 256 + 255 > >0300 = 3 * 255 0300 = 3 * 256 >03ff = 3 * 255 + 255 03ff = 3 * 256 + 255 >... > >ff00 = 255 * 255 + 0 ff00 = 255 * 256 + 0 >ff01 = 255 * 255 + 1 ff01 = 255 * 256 + 1 >... > >ffff = 255 * 255 + 255 ffff = 255 * 256 + 255 >... > >nun zum gucken: > >ff ff ff 00 = 255 * 255 * 255 + 0 ff ff ff 00 = 255 * 256 ^ 3 + 255 * 256 ^ 2 + 255 * 256 ^ 1 + 0 >ff ff ff 01 = 255 * 255 * 255 + 1 ff ff ff 01 = 255 * 256 ^ 3 + 255 * 256 ^ 2 + 255 * 256 ^ 1 + 1 >... > >wie man sehen kann, ist ein Pattern zu erkennen. > Wo? >Kann man dieses Muster irgendwie dazu verwenden, >um Zahlen, unabhängig von der CPU Bus-Breite >anwenden ? Wo ist hier irgend etwas von einer Bus‐Breite zu sehen? >Also in der Art, das man 2 Bytes zusammen nimmt >bzw. gruppiert: > >ff ff = 255 * 255 <- a ff ff = 255 * 256 + 255 <- a >ff ff = 255 * 255 <- b ff ff = 255 * 256 + 255 <- b Zahlen mit den Ziffern 0, 1, 2, …, 8, 9, a, b, c, d, e und f sind Zahlen im 16er‐System, auch Sedezimal‐ oder Hexadezimal‐System genannt. Sie funktionieren im Prinzip wie Zahlen im Zehnersystem, haben als Basis aber 16 statt 10. Wenn man im 10er‐System, bei der Einerstelle beginnend, nach links fortfahrend, je 2 Ziffern zusammenfasst, erhält man das 100er‐System, denn 100 = 10^2. Ein Beispiel: Die Zahl 4711 im 10er‐System bedeutet 4 7 1 1 = 4*10^3+7*10^2+1*10^+1*10^0 = 4711 Wenn man je 2 Ziffern zusammenfasst, erhält man 47 11 = (4*10+7)*100^1+(1*10+1)*100^0 = 4711 Entsprechend funktioniert das 16er‐System: 3 a 9 c = 3*16^3+10*16^2+9*16^1+12 = 15004 Fasst man je zwei Ziffern zusammen, erhält man das 256er‐System, denn 256 = 16^2: 3a 9c = (3*16+10)*256^1+(9*16+12)*256^0 = 15004 Ich habe den Eindruck, dir ist bisher nicht ganz klar, wie ein Stellenwertsystem funktioniert. Schau dir dazu im Wikipedia den Artikel «Stellenwertsystem» (<https://de.wikipedia.org/wiki/Stellenwertsystem#top>) an. Dann brauche ich ihn hier nicht abzutippen. Falls du nach der Lektüre des Wikipedia‐Artikels Fragen hast, zitiere die unklaren Stellen und stelle die Frage. Wenn das dann geklärt ist, kann man die Frage nach der Bus‐Breite stellen.
Back to de.comp.lang.assembler | Previous | Next — Previous in thread | Next in thread | Find similar
nur für theoretischer Annahme ... Jens Kallup <kallup.jens@web.de> - 2022-01-15 19:40 +0100 Re: nur für theoretischer Annahme ... Helmut Waitzmann <nn.throttle@xoxy.net> - 2022-01-16 06:44 +0100 Re: nur für theoretischer Annahme ... Stefan Reuther <stefan.news@arcor.de> - 2022-01-16 11:04 +0100
csiph-web