210 lines
No EOL
8.8 KiB
HTML
210 lines
No EOL
8.8 KiB
HTML
<html>
|
|
<head>
|
|
<title>Dokumente und Algorithmen, Bits und Bytes</title>
|
|
<meta name="author" content="Roland Mechling">
|
|
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
|
|
</head>
|
|
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
|
|
<h2><div align="center">1 Bits und Bytes<br></div></h2>
|
|
<div align="right">
|
|
<a href="hexview.html"><img src="./buttons/pf_bl_re.jpg" alt="Zum nächsten Kapitel" border="0"></a>
|
|
</div>
|
|
<hr noshade size="1">
|
|
<p>
|
|
"Digitale Informationsverarbeitung" bedeutet, daß Informationen in <b>digitaler Form</b> gelesen, bearbeitet, gespeichert und transportiert wird. Die kleinste digitale Informationseinheit ist das <b>Bit</b> (Kunstwort aus "<b>bi</b>nary digi<b>t</b>"), das nur 2 Zustände annehmen kann. Diese beiden Zustände werden je nach Kontext mit willkürlichen Namen belegt, z.B. "H" und "L" (für "high" und "low") oder "0" und "1".<br>
|
|
<br>
|
|
Im Computer werden selten einzelne Bits verarbeitet. Die kleinste Informationseinheit, auf die ein Rechner leicht zugreifen kann, ist ein <b>Byte</b>: ein Byte besteht aus 8 Bit. Nehmen wir für die Darstellung der einzelnen Bitwerte die obige "0/1"-Repräsentation, dann läßt sich ein Byte als eine Folge von 8 Ziffern ("0/1-Entscheidungen") darstellen, z.B.: <nobr>"1001 1101"</nobr> (mit einem Leerzeichen in der Mitte, um die Lesbarkeit zu verbessern). Da jedes Bit 2 verschiedene Zustände annehmen kann, kann ein Byte 2<sup>8</sup>, also 256 verschiedene Zustände annehmen. <br>
|
|
<br>
|
|
Interpretiert man ein Byte als die Darstellung einer natürlichen Zahl im Dual-System, dann lassen sich in einem Byte die 256 Zahlen von 0 bis 2<sup>8</sup> - 1, also von 0 bis 255 darstellen. Das Byte "1001 1101" könnte also die natürliche Zahl</p>
|
|
|
|
<table border="0" frame="void" cellspacing=-1 >
|
|
<tr align="center">
|
|
<td> Stellenwerte</td><td></td>
|
|
<td> <font color="#0000FF">2<sup>7</sup> </font></td><td></td>
|
|
<td> <font color="#0000FF">2<sup>6</sup> </font></td><td></td>
|
|
<td> <font color="#0000FF">2<sup>5</sup> </font></td><td></td>
|
|
<td> <font color="#0000FF">2<sup>4</sup> </font></td><td></td>
|
|
<td> <font color="#0000FF">2<sup>3</sup> </font></td><td></td>
|
|
<td> <font color="#0000FF">2<sup>2</sup> </font></td><td></td>
|
|
<td> <font color="#0000FF">2<sup>1</sup> </font></td><td></td>
|
|
<td> <font color="#0000FF">2<sup>0</sup> </font></td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr align="center">
|
|
<td> <font color="#FF0000">1001 1101</font>b</td><td> = </td>
|
|
<td> <font color="#FF0000">1</font>*<font color="#0000FF">2<sup>7</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">0</font>*<font color="#0000FF">2<sup>6</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">0</font>*<font color="#0000FF">2<sup>5</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">1</font>*<font color="#0000FF">2<sup>4</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">1</font>*<font color="#0000FF">2<sup>3</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">1</font>*<font color="#0000FF">2<sup>2</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">0</font>*<font color="#0000FF">2<sup>1</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">1</font>*<font color="#0000FF">2<sup>0</sup></font></td>
|
|
</tr>
|
|
<tr align="center">
|
|
<td> 1001 1101b</td><td> = </td>
|
|
<td> 128</td><td> + </td>
|
|
<td> 0 </td><td> + </td>
|
|
<td> 0 </td><td> + </td>
|
|
<td> 16 </td><td> + </td>
|
|
<td> 8 </td><td> + </td>
|
|
<td> 4 </td><td> + </td>
|
|
<td> 0 </td><td> + </td>
|
|
<td> 1 </td><td> = </td>
|
|
<td> 157</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>bedeuten. Um Dualzahlen von Dezimalzahlen zu unterscheiden, hängen wir an die "0/1"-Folge einer Dualzahl ein kleines "b" (für "binäre" Zahl, d.h. Dualzahl), z.B.:<br>
|
|
<ul>1011b = 1*2<sup>3</sup> + 0*2<sup>2</sup> + 1*2<sup>1</sup> + 1*2<sup>0</sup> = 8 + 2 + 1 = 11</ul>
|
|
<br>
|
|
Für die Computertechnik hat sich die übersichtlichere Darstellung von Bytes im Hex-System durchgesetzt. Dies ist das Stellenwertsystem zur Basis 16. Um Hex-Zahlen von Zahlen in Dezimal-Darstellung zu unterscheiden, fügen wir an die Ziffernfolge von Hex-Zahlen ein kleines "h" an:</p>
|
|
<table border="0" frame="void" cellspacing=-1 >
|
|
<tr align="center">
|
|
<td> Stellenwerte</td><td></td>
|
|
<td> <font color="#0000FF">16<sup>2</sup> </font></td><td></td>
|
|
<td> <font color="#0000FF">16<sup>1</sup> </font></td><td></td>
|
|
<td> <font color="#0000FF">16<sup>0</sup> </font></td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr align="center">
|
|
<td> <font color="#FF0000">23</font>h</td><td> = </td>
|
|
<td></td><td></td> <td> <font color="#FF0000">2</font>*<font color="#0000FF">16<sup>1</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">3</font>*<font color="#0000FF">16<sup>0</sup></font></td>
|
|
</tr>
|
|
<tr align="center">
|
|
<td> 23h</td><td> = </td>
|
|
<td></td><td></td>
|
|
<td>32</td><td> + </td>
|
|
<td>3</td><td> = </td>
|
|
<td>35</td>
|
|
</tr>
|
|
<tr><td></td> </tr>
|
|
<tr align="center">
|
|
<td> <font color="#FF0000">104</font>h</td><td> = </td>
|
|
<td> <font color="#FF0000">1</font>*<font color="#0000FF">16<sup>2</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">0</font>*<font color="#0000FF">16<sup>1</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">4</font>*<font color="#0000FF">16<sup>0</sup></font></td>
|
|
</tr>
|
|
<tr align="center">
|
|
<td>104h</td><td> = </td>
|
|
<td>256</td><td> + </td>
|
|
<td>0</td><td> + </td>
|
|
<td>4</td><td> = </td>
|
|
<td>260</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p> Zur Darstellung der Stellenwerte größer als 9 brauchen wir im Hex-System neue Ziffern: man benützt dazu die ersten Buchstaben des Alphabets. Im Hex-System kann also jede Stelle mit einer der Ziffern {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} belegt werden:
|
|
</p>
|
|
<table border="0" frame="void" cellspacing=-1 >
|
|
<tr align="center">
|
|
<td> Stellenwerte</td><td></td>
|
|
<td> <font color="#0000FF">16<sup>1</sup> </font></td><td></td>
|
|
<td> <font color="#0000FF">16<sup>0</sup> </font></td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr align="center">
|
|
<td> <font color="#FF0000">AC</font>h</td><td> = </td>
|
|
<td> <font color="#FF0000">10</font>*<font color="#0000FF">16<sup>1</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">12</font>*<font color="#0000FF">16<sup>0</sup></font></td>
|
|
</tr>
|
|
<tr align="center">
|
|
<td> ACh</td><td> = </td>
|
|
<td> 160</td><td> + </td>
|
|
<td> 12 </td><td> = </td>
|
|
<td> 172 </td>
|
|
</tr>
|
|
<tr><td></td> </tr>
|
|
<tr align="center">
|
|
<td> <font color="#FF0000">FF</font>h</td><td> = </td>
|
|
<td> <font color="#FF0000">15</font>*<font color="#0000FF">16<sup>1</sup></font></td><td> + </td>
|
|
<td> <font color="#FF0000">15</font>*<font color="#0000FF">16<sup>0</sup></font></td>
|
|
</tr>
|
|
<tr align="center">
|
|
<td> FFh</td><td> = </td>
|
|
<td> 240</td><td> + </td>
|
|
<td> 15 </td><td> = </td>
|
|
<td> 255 </td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>
|
|
Dies sind Beispiele für den numerisch interpretierten Inhalt eines Byte. Ein Byte wird also im Hexsystem immer als eine 2-stellige Zahl dargestellt.<br>
|
|
<br>
|
|
<br>
|
|
<font size="+1"><b>Übungen:</b></font><br>
|
|
|
|
<script language="javascript">
|
|
<!--
|
|
|
|
function WertHolen(Name) {
|
|
var Wert = 0;
|
|
if(document.cookie) {
|
|
var Wertstart=document.cookie.indexOf(Name+"=");
|
|
if (Wertstart == -1)
|
|
Wert = 0
|
|
else
|
|
{
|
|
Cooki = document.cookie.substring(Wertstart+Name.length+1,document.cookie.length);
|
|
var Wertende = Cooki.indexOf(";");
|
|
if (Wertende == -1)
|
|
Wertende = Cooki.length;
|
|
Wert = parseInt( Cooki.substring(0,Wertende));
|
|
}
|
|
}
|
|
return Wert;
|
|
}
|
|
-->
|
|
</script>
|
|
|
|
<ol start="1" type="1">
|
|
<li><a href="DualDez.html" target="blank" >Umrechnung von Dual- in Dezimalzahlen.</a>
|
|
<script language="javascript">
|
|
<!--
|
|
if (WertHolen("DualDezR")>6)
|
|
document.write("<img src=Ok.gif>")
|
|
else
|
|
document.write("<img src=No.gif>") ;
|
|
-->
|
|
</script>
|
|
<br></li><br>
|
|
<li><a href="DezDual.html" target="blank" >Umrechnung von Dezimal- in Dualzahlen.</a>
|
|
<script language="javascript">
|
|
<!--
|
|
if (WertHolen("DezDualR")>6)
|
|
document.write("<img src=Ok.gif>")
|
|
else
|
|
document.write("<img src=No.gif>") ;
|
|
-->
|
|
</script>
|
|
<br></li><br>
|
|
<li><a href="HexDez.html" target="blank" >Umrechnung von Hex- in Dezimalzahlen.</a>
|
|
<script language="javascript">
|
|
<!--
|
|
if (WertHolen("HexDezR")>6)
|
|
document.write("<img src=Ok.gif>")
|
|
else
|
|
document.write("<img src=No.gif>") ;
|
|
-->
|
|
</script>
|
|
<br></li><br>
|
|
<li><a href="DezHex.html" target="blank" >Umrechnung von Dezimal- in Hexzahlen.</a>
|
|
<script language="javascript">
|
|
<!--
|
|
if (WertHolen("DezHexR")>6)
|
|
document.write("<img src=Ok.gif>")
|
|
else
|
|
document.write("<img src=No.gif>") ;
|
|
-->
|
|
</script>
|
|
<br></li><br>
|
|
</ol><br>
|
|
<br>
|
|
<hr noshade size="1">
|
|
<div align="center">
|
|
<a href="hexview.html"><img src="./buttons/pf_bl_re.jpg" alt="Zum nächsten Kapitel" border="0"></a>
|
|
</div>
|
|
<br>
|
|
</body>
|
|
</html> |