-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Borneq <b...@a...hidden.pl>
Newsgroups: pl.comp.programming
Subject: Re: Algorytm hex,dec<->liczba
Date: Tue, 4 Jul 2017 15:59:43 +0200
Organization: ATMAN - ATM S.A.
Lines: 59
Message-ID: <ojg70d$dm9$1@node2.news.atman.pl>
References: <ojbd2k$m8a$1@node1.news.atman.pl>
<1...@g...com>
<ojg3pv$alr$1@node2.news.atman.pl>
NNTP-Posting-Host: 91.239.205.105
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1499176781 14025 91.239.205.105 (4 Jul 2017 13:59:41
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 4 Jul 2017 13:59:41 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101
Thunderbird/52.2.1
In-Reply-To: <ojg3pv$alr$1@node2.news.atman.pl>
Content-Language: pl
Xref: news-archive.icm.edu.pl pl.comp.programming:210640
[ ukryj 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-16 prawo jazdy z Nepalu
- 2024-05-15 Mini Netykieta polskich grup i list dyskusyjnych
- 2024-05-15 Warszawa => Key Account Manager <=
- 2024-05-15 Millenium czyli DEBILE bankowości
- 2024-05-15 Warszawa => Frontend Developer - React <=
- 2024-05-15 Marki => ERP Implementer <=
- 2024-05-15 Marki => Wdrożeniowiec ERP <=
- 2024-05-15 System operacyjny dla 6800?
- 2024-05-15 Ulm => IT Netzwerktechniker (m/w/d) <=
- 2024-05-15 Ulm => Technischer Rollouter (d/m/w) <=
- 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 :)