Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Dezimalzahl -> Dualzahl

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ]
000
15.08.2004, 11:14 Uhr
GERO



Hey @ all...

Ich möchte gerne ein Programm schreiben, in dem ich eine Ip Adresse eingeben lasse. Die IP soll dann in den Dualcode umgewandelt werden. Kann mir irgend jemand sagen, ob es da einen bestimmten befehl für gibt, oder ob ich das alles von hand programmieren muss...


Danke für schnelle und hilfreiche antworten...

Gruß GERO
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.08.2004, 13:14 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Unter windows kannst du z.B. itoa benutzen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.08.2004, 13:37 Uhr
GERO



was heißt jetzt unter windows???? ich schreibe das in ganz normalem ANSI c++, das prog soll später in der windows eingabe auffordeung laufen, das heißt wohl unter dos.... oder????

gruß GERO
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.08.2004, 14:14 Uhr
Hans
Library Walker
(Operator)


Hi,

erst einmal ist itoa ANSI, und eine Windows Eingabeaufforderung ist nur zum Teil DOS, aber das nur nebenbei...
Wenn ich Dich richtig verstehe, dann liegt Dein eigentliches Problem darin, eine Dezimalzahl als Binärzahl ausgeben zu lassen. Wenn dem so ist, das musst Du mal die Suchfunktion bemühen, denn sowas wird öfter mal gefragt. Ausserdem hab ich im alten (parsimony) Forum, dessen Inhalt im Downloadbereich noch verfügbar ist, mal ein Programm gepostet, das eine Funktion dafür enthält...

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.08.2004, 14:26 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)



Zitat von GERO:
was heißt jetzt unter windows???? ich schreibe das in ganz normalem ANSI c++, das prog soll später in der windows eingabe auffordeung laufen, das heißt wohl unter dos.... oder????

gruß GERO

Nein, heißt es nicht

Zitat von Hans:
erst einmal ist itoa ANSI

Nöö
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
15.08.2004, 14:26 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Hans
nein itao ist kein ANSI-C nur atoi.
virtual meinte dazu mal das die damals vermutlich gewürfelt haben was zum standard gehören soll


C++:
void binaer_ausgeben(unsigned int zahl){
for(int i=8*sizeof(unsigned int);i;--i)
    printf("%d",(zahl>>(i-1))&1);
}



kannst es gleich auch für jede beliebige basis erweitern


C++:
void convert_number2base(unsigned int z,int b){if(z){convert_number2base(z/b,b);printf("%c",z%b+48+(z%b>9)*7);}}


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 15.08.2004 um 14:29 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
15.08.2004, 21:14 Uhr
GERO



@windalf: ich hab dein erstes beispiel mal ausprobiert... es klappt... nur jetzt hab ich noch ein anderes problem, ich verstehe die for schleife nicht richtig sizeof()???, und wie kann ich das mit printf() in c++ also mit cout<< machen... und wo du schon dabei bist... kannst du mir bestimmt auch noch die printf anweisung erklähren...

wenn ich das prog ausführe, bekomme ich 32 stellen dualcode ausgegeben... ich möchte aber nur 8........

ich hoffe, es macht dir/euch keine großen umstände mir das nochmal kurtz zu erläutern..... ich bin halt nicht so das riesige ASS was c++ anbelangt


gruß GERO

Dieser Post wurde am 15.08.2004 um 21:15 Uhr von GERO editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
16.08.2004, 01:01 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


sizeof liefiert dir die grösse des datentypes in byte... da unsigned int auf den meisten plattformen 4 byte hat werden in der schleife dann auch 8*4 Byte ausgegeben...


wenn du es mit nem template machst kannst du die funktion datentyp unabhängig machen dann gibt er dir soviele stellen aus wie dein jeweilger datentyp gerade hat...

C++:
#include <iostream>

template <class Typ>
void binaer_ausgeben(Typ zahl){
for(int i=8*sizeof(Typ);i;--i) //von 8*byteanzahl bis 1;
    std::cout<<((zahl>>(i-1))&1); //gebe das ite bit von der zahl aus
}

int main(){
binaer_ausgeben((unsigned char)15); //für 8 stellen nehmen wir mal ein unsigned char...
}



--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
16.08.2004, 12:37 Uhr
GERO



hey @ all...

ich glaube wir reden alle an ein ander vorbei...

ich möchte eine Zahl z.b. int zahl=20 in den dualcode umwandeln. Der Dualcode soll dann in der Variable int zahl_du abgelegt werden.
Ich möchte hinterher mit dieser Zahl weiter rechnen/arbeiten...

Der sinn des Programms... aus einer IP Adresse subnetz , subnetzID u.s.w. errechnen... also ein ip Calkulator... deshalb auch nur einen 8 stellige dualcode... für jeden Ip Bereichh einen Code also int IP[3] und int IP_du[3]... IP[0]=192 IP[1]=168 IP[2]=1 IP[3]=10...

ich hoffe ich habe das jetzt so verständlich wie möglich erklährt... vielleicht fndet ihr ja noch andere möglichkeiten das ganze zu programmieren... kann man irgendwo vom dezimalmodus in den dualmodus umstellen/programmieren...

Gruß GERO
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
16.08.2004, 13:56 Uhr
(un)wissender
Niveauwart


Also doch einen String...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: