hilfdirselbst.ch
Facebook Twitter gamper-media

"Geht nicht" ist keine gültige Fehlermeldung!

Anonym
Beiträge: 22827
28. Dez 2004, 15:46
Beitrag #1 von 10
Bewertung:
(2326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Dezimalzahlen in Dualzahlern umwandeln mit Perl


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 Top
 
X
SabineP  M 
Beiträge: 7586
28. Dez 2004, 16:13
Beitrag #2 von 10
Beitrag ID: #132805
Bewertung:
(2326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Dezimalzahlen in Dualzahlern umwandeln mit Perl


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] Top
 
Anonym
Beiträge: 22827
28. Dez 2004, 16:19
Beitrag #3 von 10
Beitrag ID: #132807
Bewertung:
(2326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Dezimalzahlen in Dualzahlern umwandeln mit Perl


Danke das klappt ja super!
Was genau bedeutet bei dir das &1 im Quelltext?
als Antwort auf: [#132791] Top
 
Anonym
Beiträge: 22827
28. Dez 2004, 16:47
Beitrag #4 von 10
Beitrag ID: #132810
Bewertung:
(2326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Dezimalzahlen in Dualzahlern umwandeln mit Perl


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] Top
 
Anonym
Beiträge: 22827
28. Dez 2004, 17:22
Beitrag #5 von 10
Beitrag ID: #132813
Bewertung:
(2326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Dezimalzahlen in Dualzahlern umwandeln mit Perl


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] Top
 
SabineP  M 
Beiträge: 7586
28. Dez 2004, 17:47
Beitrag #6 von 10
Beitrag ID: #132817
Bewertung:
(2326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Dezimalzahlen in Dualzahlern umwandeln mit Perl


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)
Top
 
Anonym
Beiträge: 22827
28. Dez 2004, 18:51
Beitrag #7 von 10
Beitrag ID: #132823
Bewertung:
(2326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Dezimalzahlen in Dualzahlern umwandeln mit Perl


das ist der Hammer wie fit du in Perl bist!
Ich werde es gleich mal einbauen!
DANKE!!!
als Antwort auf: [#132791] Top
 
Anonym
Beiträge: 22827
28. Dez 2004, 19:10
Beitrag #8 von 10
Beitrag ID: #132827
Bewertung:
(2326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Dezimalzahlen in Dualzahlern umwandeln mit Perl


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] Top
 
Anonym
Beiträge: 22827
28. Dez 2004, 19:56
Beitrag #9 von 10
Beitrag ID: #132832
Bewertung:
(2326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Dezimalzahlen in Dualzahlern umwandeln mit Perl


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)
Top
 
Anonym
Beiträge: 22827
29. Dez 2004, 16:30
Beitrag #10 von 10
Beitrag ID: #132985
Bewertung:
(2326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Dezimalzahlen in Dualzahlern umwandeln mit Perl


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] Top
 
X