home *** CD-ROM | disk | FTP | other *** search
/ Rockford Magazine / Rockford_Magazine_030_19xx_-_de_Disk_1_of_2_Side_B.d64 / 30zahlensysteme < prev   
Text File  |  2023-02-26  |  13KB  |  325 lines

  1. =======================================
  2. ROCKFORD-MAGAZIN 09 TEXTFILE 10.03.1995
  3. =======================================
  4.    WISSEN IST MACHT: ZAHLENSYSTEME
  5. =======================================
  6. Hallo Fans!
  7. Dieser Text ist in 80 Zeichen!! Ladet
  8. also am C64 den 80Z Hack und den 
  9. SEQ-TXT-Anzeiger o.a.       Viel Spass!
  10. =======================================
  11.              Zahlensysteme
  12.  
  13.  
  14. Gerade beim Programmieren ist es manchmal wichtig eine Uebersicht ueber
  15. die verschiedenen Zahlensysteme zu kennen. Im taeglichen Gebrauch kennen
  16. die meisten Menschen eigentlich nur das Dezimalsystem, fuer den Gebrauch
  17. im Computer ist dies aber nicht gut geeignet, weil es leicht unueberschau-
  18. bar wuerde. Deshalb moechte ich einen kleinen Ueberblick ueber verschiedene
  19. Zahlensysteme geben, damit es auch mit diesen keine Probleme mehr gibt.
  20. Vielleicht gebe ich zuerst einmal, anhand einer Tabelle, einen Ueberblick
  21. auf die Zahlen 1-16 in unterschiedlichen Systemen:
  22.  
  23.   Dezimal        Dual/Binaer       Quartal       Oktal       Hexadezimal
  24.      0              0000             0            0             0
  25.      1              0001            01            1             1
  26.      2              0010            02            2             2
  27.      3              0011            03            3             3
  28.      4              0100            10            4             4
  29.      5              0101            11            5             5
  30.      6              0110            12            6             6
  31.      7              0111            13            7             7
  32.      8              1000            20           10             8
  33.      9              1001            21           11             9
  34.     10              1010            22           12             A
  35.     11              1011            23           13             B
  36.     12              1100            30           14             C
  37.     13              1101            31           15             D
  38.     14              1110            32           16             E
  39.     15              1111            33           17             F
  40.     16             10000           100           20            10
  41.  
  42.  
  43. 1.Das Dezimalsystem
  44. -------------------
  45. Das Dezimalsystem sollte eigentlich jedem von uns bekannt sein, da wir
  46. staendig damit zu tun haben. Sei es nun in der Schule oder beim taeglichen
  47. Einkauf. Das Dezimal-System ist ein Ziffernsystem und beruht auf die
  48. Grundzahl 10. Dies kommt vom Zaehlen mit dem zehn Fingern. Je zehn Ein-
  49. heiten werden zu einer hoeheren Einheit zusammengefasst (Einer, Zehner,
  50. Hunderter...). Noch etwas zur Geschichte des Dezimalsystems: Es gelangte
  51. von den Indern ueber die Araber nach Europa. Dies passierte im 12 Jahr-
  52. hundert.
  53.  
  54. 2.Das Dualsystem (Rechnen im Dualen-System)
  55. -------------------------------------------
  56. Das Dualsystem ist ein dyadisches System (Zweiersystem) mit der Basis 2.
  57. Die Einheiten des Dualsystems sind die Potenzen von 2. Jede natuerliche
  58. Zahl laesst sich eindeutig als Dualzahl wiedergeben. Das Dualsystem wird
  59. haeufig im Zusammenhang mit Computern Binaersystem genannt. Durch die
  60. Verwendung von 0 oder 1, ist es gut geeignet elektr. Schaltungen darzu-
  61. stellen und hat deshalb eine hohe Bedeutung (0=geschlossen, 1=offen).
  62. Die allerersten Computer wurden so programmiert. Da dies aber heute
  63. viel zu kompliziert waere greift man auf Programmiersprachen zurueck.
  64. Betrachtet man den Computer ganz sachlich, so versteht er 0 oder 1
  65. und sonst nichts.
  66.  
  67. Die Dezimalzahl 10 setzt sich im Dualsystem beispielsweise so zusammen:
  68. (da Potenzen in ASCII schlecht darzustellen sind wird das ^ nach der
  69. Potenzbasis verwendet)
  70.  
  71.               10 = 1*2^3+0*2^2+1*2^1+0*2^0 = 1010
  72.                      {$7d}     {$7d}     {$7d}     {$7d}
  73.                      {$7d}..=8 {$7d}..=0 {$7d}..=2 {$7d}..=0 gesamt = 10
  74.  
  75. Das ist also mit ein wenig Uebung ganz einfach.
  76.  
  77. Das Rechnen mit dualen Zahlen ist auch nicht viel anders, als im Dezimal-
  78. system.
  79.  
  80.  a) Addition/Subtraktion von dualen Zahlen
  81.  -----------------------------------------
  82.  0+0=0  0+1=1 -> 1+0=1  1+1=0  1+1+1=0
  83.  0-0=0  0-1=1    1-0=1  1-1=0  0-1-1=0 mit Uebertrag
  84.  
  85.  Am Besten arbeitet man sich an den zwei Beispielen durch:
  86.  
  87.        101 1011,101     =    91,625  dez
  88.       + 10 0101,0101    =   +37,3125 dez
  89.       --------------        ------------
  90.       100000000,1111    =   128,9375 dez
  91.                    .............
  92.                   {$7d}             .
  93.        11010010,1000             .
  94.       - 1011010,1011              hier z.B. ein Uebertrag
  95.       --------------
  96.         1110111,1101
  97.  
  98. Es ist zu beachten, das auch hier mit Uebertraegen gerechnet wird (ganz klar
  99. oder?).
  100.  
  101.  b) Multiplikation/Division von dualen Zahlen
  102.  --------------------------------------------
  103.  0*0=0  0*1=0  1*0=0  1*1=1
  104.  
  105.  Auch hier gebe ich mal zwei Beispiele:
  106.  
  107.       11011 * 10010             27 * 18 dez
  108.       -------------             -----------
  109.       11011                     27
  110.        00000                    216
  111.         00000                   -----------
  112.          11011                  486
  113.           00000
  114.       -------------
  115.       111100110          =      486
  116.  
  117.  
  118.  
  119.       1000100111 : 11101 = 10011          =         19
  120.       -11101
  121.       ------
  122.           1010                  Hier noch das Gleiche in Dezimal:
  123.          -0000                     551 : 29 = 19
  124.          -----                    -29
  125.           10101                   ---
  126.          -00000                    261
  127.          ------                   -261
  128.           101011                  ----
  129.           -11101                     0
  130.           ------
  131.                0
  132.  
  133. 2.1 Vergleich zwischen Dual- und Dezimalsystem
  134. ----------------------------------------------
  135. Warum das Dualsystem wesentlich leichter zu handhaben ist und warum das
  136. Rechnen mit Dualzahlen viel einfacher ist, zeigt der Vergleich mit den
  137. Rechentabellen der einzelnen Systeme. Mit den Tabellen duerften auch die
  138. Beispiele aus den vergangenen Kapiteln besser nachvollzogen werden koennen.
  139. Man sieht deutlich, wie kleiner die Rechentabellen im Dualsystem sind.
  140.  
  141.   a) Rechentabellen fuer das Dezimalsystem (Addition/Multiplikation)
  142.   -----------------------------------------------------------------
  143.  
  144.   +  0  1  2  3  4  5  6  7  8  9        *  0  1  2  3  4  5  6  7  8  9
  145.   0  0  1  2  3  4  5  6  7  8  9        0  0  0  0  0  0  0  0  0  0  0
  146.   1  1  2  3  4  5  6  7  8  9 10        1  0  1  2  3  4  5  6  7  8  9
  147.   2  2  3  4  5  6  7  8  9 10 11        2  0  2  4  6  8 10 12 14 16 18
  148.   3  3  4  5  6  7  8  9 10 11 12        3  0  3  6  9 12 15 18 21 24 27
  149.   4  4  5  6  7  8  9 10 11 12 13        4  0  4  8 12 16 20 24 28 32 36
  150.   5  5  6  7  8  9 10 11 12 13 14        5  0  5 10 15 20 25 30 35 40 45
  151.   6  6  7  8  9 10 11 12 13 14 15        6  0  6 12 18 24 30 36 42 48 54
  152.   7  7  8  9 10 11 12 13 14 15 16        7  0  7 14 21 28 35 42 49 56 63
  153.   8  8  9 10 11 12 13 14 15 16 17        8  0  8 16 24 32 40 48 56 64 72
  154.   9  9 10 11 12 13 14 15 16 17 18        9  0  9 18 27 36 45 54 63 72 81
  155.  
  156.  
  157.   b) Rechentabellen fuer das Dualsystem (Addition/Multiplikation)
  158.   --------------------------------------------------------------
  159.  
  160.   +  0  1                                *  0  1
  161.   0  0  1                                0  0  0
  162.   1  1 10                                1  0  1
  163.        {$7d}...dadurch kommt auch der
  164.            Uebertrag zustande
  165.  
  166.  
  167.   c) einfachste Umrechnug Dual/Dezimal
  168.   ------------------------------------
  169.   am einfachsten rechnet man eine Dualzahl in dezimal um, wenn man die
  170.   Wertigkeit drueber schreibt. Ein Beispiel an der Dualzahl 100101.
  171.  
  172.              Dezimal:    32   16   8   4   2   1
  173.              -----------------------------------
  174.              Dualzahl:    1    0   0   1   0   1
  175.  
  176.      Das Ergebnis ist dann 32 + 4 + 1 = 37
  177.  
  178.  
  179. 3. Das Quartalsystem
  180. --------------------
  181. Das Quartalsystem ist ein Zahlensystem mit der Basis 4 und soll hier nur
  182. amn Rande betrachtet werden.
  183. Das Quartalsystem setzt sich so zusammen:
  184.  
  185.         0   1   2   3
  186.         1
  187.         2
  188.         3
  189.        10 ------------------ dezimal = 4
  190.        11
  191.        12
  192.        13
  193.        20 ------------------ dezimal = 8
  194.        21
  195.        22
  196.        23
  197.        30 ------------------ dezimal = 12
  198.        31
  199.        32
  200.        33
  201.        100 ----------------- dezimal = 16
  202.  
  203. Man sieht gut, wie sich das Quartalsystem (Quartal kommt von 4) aus Vierer-
  204. bloecken zusammensetzt, dadurch ist auch das Umrechnen von Zahlen aus dem
  205. Quartalsystem ins Dezimalsystem und umgekehrt nicht schwer.
  206.  
  207. 3.1 Umrechnungen im Quartalsystem
  208. ---------------------------------
  209. Wir nehmen an, dass wir die Zahl 485,875 in eine Quartalzahl umwandeln wollen
  210. und gehen so vor:
  211.                    485,875 dez. = ? quart.
  212.                                   .
  213.            485 : 4 = 121  Rest 1 /{$7d}.          0,875 * 4 = 3,5   (3)
  214.            121 : 4 = 30   Rest 1  {$7d}           0,5   * 4 = 2,0   (2)
  215.             30 : 4 = 7    Rest 2  {$7d}
  216.              7 : 4 = 1    Rest 3  {$7d}
  217.              1 : 4 = 0    Rest 1  {$7d}
  218.  
  219.            Loesung: 485,875 = 13211,32
  220.  
  221. Man berechnet die Stellen vor dem Komma seperat und die dabei enstandenen
  222. Reste ergeben von unten nach oben die Loesung. Die Stellen nach dem Komma
  223. werden ebenfalls getrennt berechnet und von oben nach unten werden die
  224. ganzen Zahlen der jeweiligen Loesung hinter die erste Quartaltalzahl ge-
  225. schrieben.
  226.  
  227. Umgekehrt, also wenn ich eine Quartalzahl habe und die Dezimalzahl wissen
  228. will, geht man so vor:
  229.  
  230.                   13201,3102 quart. = ? dez.
  231.                 = 4^4+3*4^3+2*4^2+1+3*4^-1+4^-2+2*4^-4
  232.                 = 256+192+32+1+0,75+0,0625+0,0078125
  233.                 = 481,8263125 dez:
  234.  
  235. Das sieht zwar auf den ersten Blick etwas schwerer aus ist es aber nicht.
  236. Jede Stelle der Quartalzahl multipliziert man mit der Zahl 4 und der
  237. entsprechenden Stellenpotenz. Bei der dritten Stelle waere dies 4^2.
  238. Bei der ganzen Zahl sieht das so aus:
  239.  
  240.             1        3       2       0      1   ,  3       1      0      2
  241.             {$7d}        {$7d}       {$7d}       {$7d}      {$7d}      {$7d}       {$7d}      {$7d}      {$7d}
  242.    4^4------^   4^3--^   4^2-^   4^1-^  4^0-^  4^-1^   4^-2^  4^-3^  4^-4^
  243.  
  244.  
  245. 4. Das Oktalsystem
  246. ------------------
  247. Das Oktalsystem ist dem Quartalsystem aehnlich und seine Basis ist die 8.
  248. Das Oktalsystem ist in Achtergruppen unterteilt un zwar so:
  249.  
  250.          0   1   2   3   4   5   6   7
  251.          1
  252.          2
  253.          3
  254.          4
  255.          5
  256.          6
  257.          7
  258.         10     Dezimal = 8
  259.         11               9
  260.         12              10
  261.         13              11
  262.         14              12
  263.         15              13
  264.         16              14
  265.         17              15
  266.         20              16
  267.  
  268. Auch hier wieder entsprechende Gruppen, genau wie im Quartalsystem.
  269.  
  270. 4.1 Umrechnungen im Oktalsystem
  271. -------------------------------
  272. Die Umrechnung ist dem Quartalsystem aehnlich, man muss nur die Basis 8 be-
  273. achten.
  274.  
  275.              z.B.       345,67okt = 3*8^2+4*8^1+5*8^0+6*8^-1+7*8^-2
  276.                                   = 229,859375 dez.
  277.  
  278.  Dezimal -> Oktal
  279.                          668 dez. = ? okt.
  280.                                                 .
  281.                          668 : 8 = 83  Rest 4  /{$7d}.
  282.                           83 : 8 = 10  Rest 3   {$7d}
  283.                           10 : 8 = 1   Rest 2   {$7d}
  284.                            1 : 8 = 0   Rest 1   {$7d} = 1234okt
  285.  
  286.  
  287. 5. Das Hexadezimalsystem
  288. ------------------------
  289. Das Hexadezimalsystem beruht auf die Basis 16. Fuer die Ziffern 10 bis 15
  290. schreibt man A bis F. Man zaehlt also so:
  291.  
  292.        1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
  293.                                           10  11  12  13  14  15
  294.  
  295. Angenommen wir haben die Zahl 687 vorliegen. Wir koennen dazu auch dezimal
  296. sagen: 7 Einer + 8 Zehner + 6 Hunderter. Die Folge im Hexadezimalensystem
  297. ist nicht 1, 10, 100, 1000 sondern 1, 16, 256, 4096.
  298. Moechte ich nun den Wert einer Hexadezimalenzahl in dezimal wissen, dann
  299. kann ich mir das so ausrechnen:
  300.  
  301.          Beispiel:     FFFF = 15*4096 + 15*256 + 15*16 + 15*1 = 65535
  302.          da F die Wertigkeit 15 besitzt, muss ich einfach nur die
  303.          entsprechenden Folge mit der Wertigkeit multiplizieren.
  304.  
  305. Das Hexadezimalsystem ist gerade wichtig, wenn man in Assembler programmiert
  306. und das sollte man auch eigentlich beherrschen, wenn man Assembler verstehen
  307. will.
  308.  
  309. 6. Schlusswort
  310. -------------
  311. Vielleicht konnte dem einen oder anderen mit diesem Artikel geholfen werden.
  312. Ich gebe natuerlich keine Gewaehr dafuer, dass alles hundertprozentig richtig
  313. ist, da ich die meisten Beispiele nicht noch einmal alle extra nachgerechnet
  314. habe. Doch im Prinzip duerften keine groesseren Fehler enthalten sein, sonst
  315. bitte ich um eine Mitteilung, damit ich in Zukunft auch noch etwas schlauer
  316. werde. Den Artikel darf jeder zu seinen privaten Zwecken gebrauchen. Die
  317. kommerzielle Weiterverarbeitung des Artikels ist untersagt, da ich ja auch
  318. nichts dafuer bekomme.
  319. Viel Spass.                                                           (J.W.)
  320.  
  321.                                  AMIcon
  322. =======================================
  323. END OF TEXTFILE           100% FREEWARE
  324. =======================================
  325.