Default Blue Green Red
Pagina's: [1]
  Print  
Auteur Topic: [snippet] Stelsel converter  (gelezen 461 keer)
n_e
Jr. Member
**
Berichten: 95


« Gepost op: Oktober 29, 2009, 01:33:45 »

Ik werd op het idee gebracht door een .exe op deze site. Het is mij in het verleden vaak opgevallen hoeveel mensen bijzonder ingewikkelde code maken om getallen te converteren van 1 stelsel naar een ander. Dit terwijl daar helemaal geen reden voor is!

Code
GeSHi (cpp):
#include <iostream>
#include <bitset>
 
std::string toBin(unsigned long int in, int bits = 0){
   std::bitset<32> out(in);
   std::string out_str = out.to_string();
   if (!bits)
       return out_str.substr(out_str.find_first_of('1'), (out_str.size() - out_str.find_first_of('1')));
   return out_str.substr(out_str.size()-bits, bits);
}
 
int main(){
   const unsigned long int in = 1234567;
 
   std::cout << in << "=\n";
   std::cout << "hex: " << std::hex << in << '\n';
   std::cout << "oct: " << std::oct << in << '\n';
   std::cout << "bin: " << toBin(in) << '\n';
   std::cout << "padding 32 bits: " << toBin(in, 32) << '\n';
}
Created by GeSHI 1.0.7.20

Output:

1234567=
hex: 12d687
oct: 4553207
bin: 100101101011010000111
padding 32 bits: 00000000000100101101011010000111
Gelogd
Divendo
Global Moderator
Hero Member
*****
Berichten: 646


Voer in op google maps: 37.971458,23.726706


WWW E-mail
« Antwoord #1 Gepost op: Oktober 29, 2009, 02:29:18 »

Hmmm, handig...
Dat std::hex, kende ik nog niet!
Staat dat in de header iostream?
En zo ja, klopt mijn vermoeden dan dat vanaf waar je <<std::hex doet alle getallen die je erin stopt in hexadecimale notatie eruit komen (totdat er natuurlijk iets als std::oct staat)?
Gelogd

Globale moderator

Citaat van: Bjarne Stroustrup
C makes it easy to shoot yourself in the foot...
C++ makes it harder, but when you do so it'll blow your whole leg off!
n_e
Jr. Member
**
Berichten: 95


« Antwoord #2 Gepost op: Oktober 29, 2009, 02:56:33 »

Dat std::hex, kende ik nog niet!
Staat dat in de header iostream?

Yup.

En zo ja, klopt mijn vermoeden dan dat vanaf waar je <<std::hex doet alle getallen die je erin stopt in hexadecimale notatie eruit komen (totdat er natuurlijk iets als std::oct staat)?

Yup. of std::dec smile

ziehier http://www.cplusplus.com/reference/iostream/manipulators/hex/
Gelogd
Laloeka
Moderator
Sr. Member
*****
Berichten: 417



WWW E-mail
« Antwoord #3 Gepost op: Oktober 31, 2009, 06:37:17 »

Maar zoals ik uit je code begrijp kun je dus alleen bin, oct, dec en hex gebruiken?
Gelogd



:::::::̸\:::::
::̸\:::::̸''\:::- (
::̸'ʨʨ\::̸ʨʨ''\:::̸ |'
*̸ʨ''ʨʨʨ\''ʨʨʨʨ\*~^*^~
λλλλλλλλλλλ>***=<λλλλλ
λλλλλλλλλλS_~    \λλλλ
λλλλλλλλλλλλλ\_ ~  )λλ
λλλλλλλλλλλλ"--"λλ
λλλλλλλλλλλλλ

VAKANTIE! veryhappy
n_e
Jr. Member
**
Berichten: 95


« Antwoord #4 Gepost op: November 01, 2009, 05:24:31 »

Dat klopt ook!
Gelogd
Laloeka
Moderator
Sr. Member
*****
Berichten: 417



WWW E-mail
« Antwoord #5 Gepost op: November 01, 2009, 09:02:36 »

Dat klopt ook!
Dan zal ik binnenkort de code van mijn programmaatje online zetten, die kan van dec naar eigenlijk elk stelsel converteren wink

Dat doe ik dan pas wanneer hij helemaal af is (van elk stelsel naar elk stelsel smile).
Gelogd



:::::::̸\:::::
::̸\:::::̸''\:::- (
::̸'ʨʨ\::̸ʨʨ''\:::̸ |'
*̸ʨ''ʨʨʨ\''ʨʨʨʨ\*~^*^~
λλλλλλλλλλλ>***=<λλλλλ
λλλλλλλλλλS_~    \λλλλ
λλλλλλλλλλλλλ\_ ~  )λλ
λλλλλλλλλλλλ"--"λλ
λλλλλλλλλλλλλ

VAKANTIE! veryhappy
Divendo
Global Moderator
Hero Member
*****
Berichten: 646


Voer in op google maps: 37.971458,23.726706


WWW E-mail
« Antwoord #6 Gepost op: November 01, 2009, 09:31:06 »

Dat klopt ook!
Dan zal ik binnenkort de code van mijn programmaatje online zetten, die kan van dec naar eigenlijk elk stelsel converteren wink

Dat doe ik dan pas wanneer hij helemaal af is (van elk stelsel naar elk stelsel smile).
Is het dan niet handig als het om de stelsels 2 t/m 256 gaat?
Alles daarbuiten wordt eigenlijk nooit gebruikt wink
Gelogd

Globale moderator

Citaat van: Bjarne Stroustrup
C makes it easy to shoot yourself in the foot...
C++ makes it harder, but when you do so it'll blow your whole leg off!
Laloeka
Moderator
Sr. Member
*****
Berichten: 417



WWW E-mail
« Antwoord #7 Gepost op: November 01, 2009, 09:56:48 »

Is het dan niet handig als het om de stelsels 2 t/m 256 gaat?
Alles daarbuiten wordt eigenlijk nooit gebruikt wink
Ja, dat is mogelijk.. maar welke tekens gebruik ik boven de 62? (62=alle cijfers + alle hoofdletters + alle letters)
btw, we gaan een beetje offtopic denk ik wink
Gelogd



:::::::̸\:::::
::̸\:::::̸''\:::- (
::̸'ʨʨ\::̸ʨʨ''\:::̸ |'
*̸ʨ''ʨʨʨ\''ʨʨʨʨ\*~^*^~
λλλλλλλλλλλ>***=<λλλλλ
λλλλλλλλλλS_~    \λλλλ
λλλλλλλλλλλλλ\_ ~  )λλ
λλλλλλλλλλλλ"--"λλ
λλλλλλλλλλλλλ

VAKANTIE! veryhappy
Anthony_NL
Newbie
*
Berichten: 7



WWW E-mail
« Antwoord #8 Gepost op: April 15, 2010, 07:46:11 »

Bedankt man , dit zocht ik ben namelijk zelf met een rekenmachine bezig enjoying in C++. Zelf ben ik al wel begonnen met windows forms dus de layout heb ik grotendeels al. Het is een project waar ik samen met een vriend van mij mee bezig ben.

Hier de layout (voor zover ben er nog steeds mee bezig) :

P.S. copy en past deze link anders krijg je een error :S of doe rechtermuisknop "koppeling opslaan als" werkt ook.
http://www.haloce.xtreemhost.com/DL/Programming/Mathwork%5BGAMEKINGZ%5D.zip

« Laatste verandering: Mei 17, 2010, 04:41:44 door Anthony_NL » Gelogd

-= I am a Gamer, Coder and Designer! Ask me everything you need! =-
Pagina's: [1]
  Print  
 
Ga naar: