-
Data: 2017-07-04 15:59:43
Temat: Re: Algorytm hex,dec<->liczba
Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 04.07.2017 o 15:05, Borneq pisze:
> Tu znalazłem dobrze rozpisane:
> http://www.cs.trincoll.edu/~ram/cpsc110/inclass/conv
ersions.html
> może się przydać
Ostatecznie, trochę pozmieniałem kolejność w baseToNumber
Gotowiec:
#include <string>
#include <boost/multiprecision/cpp_int.hpp>
std::string numberToBase(boost::multiprecision::cpp_int n, int base)
{
const int max_buf = 128; //128 bit to binary
char buf[max_buf+1];
buf[max_buf] = 0;
int pos = max_buf - 1;
while (n != 0)
{
boost::multiprecision::cpp_int rb = n % base;
int r = (int)rb;
n = n / base;
char letter;
if (r < 10)
letter = '0' + r;
else
letter = 'a' + (r - 10);
buf[pos] = letter;
pos--;
}
return buf + pos + 1;
}
boost::multiprecision::cpp_int baseToNumber(std::string str, int base)
{
boost::multiprecision::cpp_int n = 0;
for (int i = 0; i< str.length(); i++)
{
char letter = tolower(str[i]);
int r;
if (letter >= '0' && letter <= '9')
r = letter - '0';
else
r = letter - 'a' + 10;
n = n * base + r;
}
return n;
}
int main()
{
std::string strnum = numberToBase(642452, 16);
std::cout << strnum << std::endl;
boost::multiprecision::cpp_int n = baseToNumber(strnum, 16);
std::cout << n << std::endl;
return 0;
}
Następne wpisy z tego wątku
- 04.07.17 19:02 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 04.07.17 19:14 s...@g...com
- 04.07.17 19:26 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 04.07.17 19:34 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 04.07.17 20:10 s...@g...com
- 04.07.17 20:28 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 04.07.17 20:34 s...@g...com
- 04.07.17 20:46 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 04.07.17 21:11 s...@g...com
- 04.07.17 21:33 s...@g...com
- 05.07.17 17:20 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 05.07.17 17:30 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 05.07.17 20:24 Borneq
- 05.07.17 21:58 AK
- 05.07.17 23:06 w systemie siła 'POPIS/EU
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-15 Zabrze => Junior HelpDesk <=
- 2024-05-15 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-15 Niemcy: "Alles fuer Deutschland" jest zakazane (dla AfD - nieprawomocna grzywna)
- 2024-05-14 Ustawy o rejestracji obcych agentów (wpływu): fuj Gruzja/Rosja v. cacy USA
- 2024-05-14 VMWare :)
- 2024-05-14 Ulm => Solution Engineer (m/w/d) Data Center Technologies <=
- 2024-05-14 Będziemy się znowu zrzucać na elektryki...
- 2024-05-14 Pompa ciepla Kaisai
- 2024-05-14 Przyłączenie działki do sieci elektrycznej
- 2024-05-14 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2024-05-14 Kraków => SAP WM Consultant / Execution <=
- 2024-05-14 Wrocław => Business Development Manager - obszar bezpieczeństwa IT <
- 2024-05-14 Poznań => Interactive/Experience Designer <=
- 2024-05-14 Poznań => Interactive/Experience Designer <=
- 2024-05-14 Białystok => ERP Implementer <=