You are not logged in.

wcf.regNote.message

~Zero~

Beginner

  • "~Zero~" started this thread

Posts: 14

  • Send private message

1

Tuesday, November 21st 2006, 8:29pm

Dezimal -> Binär

Hi, ich will eine Tabelle mit die Binärzahlen zu den Dezimalzahlen von 0 bis 255 erstellen, das erstellen der Binär Codes klappt aber es kommt ein seltsamer Fehler.

Das Script:

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php

class binär
{

    var $list=array();

    function create8bit($int)
    {
        for($i=7;$i>=0;$i--)
        {
            $wert=$this->pp(2,$i);
            
            if($int>=$wert)
            {
                $int-=$wert;
                $this->list[$int][$i]=1;
            } else {
                $this->list[$int][$i]=0;
            } 
            echo "wert:".$wert."  dezimalzahl:".$int."   spaltenexponent:".$i."   bit:".$this->list[$int][$i]."<br>";
        }
        
        
    }
    
    function pp($x,$y) 
    {
        if($y==0$erg=1;
        elseif($y==1$erg=$x;
        else for($i=2,$erg=$x;$y>=$i;$i++) $erg*=$x;
        
        return $erg;
        
    }

}

$codierer=new binär();

/*for($i=0;$i<256;$i++)
{
        $codierer->create8bit($i);
} */

$codierer->create8bit(1);

foreach($codierer->list[1] as $key => $value)
{
    echo "spaltenexponent:".$key."   bitwert:".$value."<br>";
}
?>


In der Zeile 21 ist eine Kontrollausgabe bei der folgendes angezeigt wird:

Source code

1
2
3
4
5
6
7
8
wert:128 dezimalzahl:1 spaltenexponent:7 bit:0
wert:64 dezimalzahl:1 spaltenexponent:6 bit:0
wert:32 dezimalzahl:1 spaltenexponent:5 bit:0
wert:16 dezimalzahl:1 spaltenexponent:4 bit:0
wert:8 dezimalzahl:1 spaltenexponent:3 bit:0
wert:4 dezimalzahl:1 spaltenexponent:2 bit:0
wert:2 dezimalzahl:1 spaltenexponent:1 bit:0
wert:1 dezimalzahl:0 spaltenexponent:0 bit:1


Aber sobald ich ausserhalb auf das Array zugreife gibt es das feld mit dem Index 0 nicht mehr, wo liegt der Fehler?

This post has been edited 3 times, last edit by "~Zero~" (Nov 21st 2006, 8:38pm)


Prometheus

Administrator

Posts: 3,278

  • Send private message

2

Tuesday, November 21st 2006, 9:47pm

Ich weiß nicht ob es Dir sichtig ist die Umrechnung in eigenen Funktionen zu machen aber es gibt die Möglichkeit eine dezimale Zahl mit decbin sofort in Binär wandeln zu lassen. Das ganze kannst Du ebenfalls in eine Schleife setzen von 0-255.

Oder ging es Dir um den Fehler ansich?
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

~Zero~

Beginner

  • "~Zero~" started this thread

Posts: 14

  • Send private message

3

Tuesday, November 21st 2006, 10:44pm

Um den Fehler aber ich habe ihn schon gefunden ich hatte ausversehen die index variable noch für was anderes benutzt...

Eigentlich egal das es das schon gibt ich hab nicht etwas fertiges gesucht ich wollte es selbst machen... dadurch das ich den binär code selbst gemacht hatte konnte ich viel leichter die umwandlung in andere codes machen.

Danke für die Hilfe ;)

wcf.user.socialbookmarks.titel