[GastForen Archiv Perl und CGI Dezimalzahlen in Dualzahlern umwandeln mit Perl

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

Dezimalzahlen in Dualzahlern umwandeln mit Perl

Anonym
Beiträge gesamt: 22827

28. Dez 2004, 15:46
Beitrag # 1 von 10
Bewertung:
(4275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich weiß nicht ob ich hier richtig bin!
ich muss Dezimalzahlen in Dualzahlen umwandeln!
Bsp: 83 in Dualzahl!
83:2=41 Rest1
41 :2=20 Rest1
20:2=10 Rest 1
10:2=5 Rest0
5:2=2 Rest1
2:2=1 Rest0
1:2=0 Rest1
Ergebnis wäre 1010011(2)
Wie kann ich das mit den Resten machen, ich weiß nicht wie ich die Reste Speichern kann in einer Variablen!
Und dann rückwärts ausgeben kann?
Wäre dankbar für jede Hilfe!
Sven
X

Dezimalzahlen in Dualzahlern umwandeln mit Perl

SabineP
Beiträge gesamt: 7586

28. Dez 2004, 16:13
Beitrag # 2 von 10
Beitrag ID: #132805
Bewertung:
(4275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

#!/usr/bin/perl
use strict;

my $zahl=83;
my $x = $zahl;

my $ergebnis = '';
while($x){
$ergebnis = ($x & 1) . $ergebnis;
$x = $x >>1;
}
print $ergebnis, "\n";

Gruß Sabine


als Antwort auf: [#132791]

Dezimalzahlen in Dualzahlern umwandeln mit Perl

Anonym
Beiträge gesamt: 22827

28. Dez 2004, 16:19
Beitrag # 3 von 10
Beitrag ID: #132807
Bewertung:
(4275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke das klappt ja super!
Was genau bedeutet bei dir das &1 im Quelltext?


als Antwort auf: [#132791]

Dezimalzahlen in Dualzahlern umwandeln mit Perl

Anonym
Beiträge gesamt: 22827

28. Dez 2004, 16:47
Beitrag # 4 von 10
Beitrag ID: #132810
Bewertung:
(4275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das ist ein bitweises UND

http://de.selfhtml.org/...atoren.htm#rangfolge

Es geht aber noch einfacher:

#!/usr/bin/perl
use strict;

my $zahl=83;

printf('%b', $zahl);

Gruß Sabine


als Antwort auf: [#132791]

Dezimalzahlen in Dualzahlern umwandeln mit Perl

Anonym
Beiträge gesamt: 22827

28. Dez 2004, 17:22
Beitrag # 5 von 10
Beitrag ID: #132813
Bewertung:
(4275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Achso! Sag mal wie kann man das denn noch weiter aus Kommadezimale ausbauen?
Das hinter dem komma dasselbe passiert wie jetzt für ganze Zahlen auch?


als Antwort auf: [#132791]

Dezimalzahlen in Dualzahlern umwandeln mit Perl

SabineP
Beiträge gesamt: 7586

28. Dez 2004, 17:47
Beitrag # 6 von 10
Beitrag ID: #132817
Bewertung:
(4275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
So passiert vor und nach dem Komma das selbe:

#!/usr/bin/perl
use strict;

my $zahl=8.3;

printf('%b,%b', split(/\./, $zahl));


als Antwort auf: [#132791]
(Dieser Beitrag wurde von SabineP am 28. Dez 2004, 17:49 geändert)

Dezimalzahlen in Dualzahlern umwandeln mit Perl

Anonym
Beiträge gesamt: 22827

28. Dez 2004, 18:51
Beitrag # 7 von 10
Beitrag ID: #132823
Bewertung:
(4275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
das ist der Hammer wie fit du in Perl bist!
Ich werde es gleich mal einbauen!
DANKE!!!


als Antwort auf: [#132791]

Dezimalzahlen in Dualzahlern umwandeln mit Perl

Anonym
Beiträge gesamt: 22827

28. Dez 2004, 19:10
Beitrag # 8 von 10
Beitrag ID: #132827
Bewertung:
(4275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
aber er gibt folgendes aus
44,5
%b%b 44,5

#!/usr/bin/perl
use strict;
print "Geben sie eine Zahl ein\n";
my $zahl=<STDIN>;
chomp ($zahl);
my %b;
print('%b%b', split(/\./, $zahl));


als Antwort auf: [#132791]

Dezimalzahlen in Dualzahlern umwandeln mit Perl

Anonym
Beiträge gesamt: 22827

28. Dez 2004, 19:56
Beitrag # 9 von 10
Beitrag ID: #132832
Bewertung:
(4275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
print ist nicht gleich printf

Wenn Du 44,5 eingeben möchtest, dann mußt Du 44.5 schreiben.
Als Dezimalzeichen ist nur der Punkt erlaubt.

#!/usr/bin/perl
use strict;
print "Geben sie eine Zahl ein:";
my $zahl=<STDIN>;
chomp ($zahl);
printf('%b,%b', split(/\./, $zahl));


Gruß Sabine

PS. Moment in Deinem Fall ist das ja kein Dezimalzeichen,
sondern nur irgendein Trennzeichen zwischen zwei Zahlen.

So kannst Du die beiden Zahlen mit Komma getrennt eintippen:

#!/usr/bin/perl
use strict;
print "Geben sie eine Zahl ein:";
my $zahl=<STDIN>;
chomp ($zahl);
printf('%b,%b', split(/\,/, $zahl));


als Antwort auf: [#132791]
(Dieser Beitrag wurde von SabineP am 28. Dez 2004, 20:10 geändert)

Dezimalzahlen in Dualzahlern umwandeln mit Perl

Anonym
Beiträge gesamt: 22827

29. Dez 2004, 16:30
Beitrag # 10 von 10
Beitrag ID: #132985
Bewertung:
(4275 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!
Ich komme nicht weiter, dieses Perl ist kryptisch für mich!
Wie kann ich soetwas erzeugen mit Perl?
Ich gebe eine Zahl ein,er setzt mir eine 0 davor und sagt mich die Zehnerprotenz und dann teilt er in Zahl(M) und Exponent (E)
Z = 42.5456 --> 0.425456 * 10^2 --> M = 425456, E = 2


als Antwort auf: [#132791]
X