<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: Перевод из 36 в 10 систему счисления]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=11765</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11765&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: Перевод из 36 в 10 систему счисления».]]></description>
		<lastBuildDate>Tue, 28 Jun 2016 05:56:13 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: Перевод из 36 в 10 систему счисления]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=105634#p105634</link>
			<description><![CDATA[<p>Хотя не так тут всё просто, как сперва подумалось. Ведь если в одной системе счисления справа нули, то в другой это не так.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 28 Jun 2016 05:56:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=105634#p105634</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перевод из 36 в 10 систему счисления]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=105632#p105632</link>
			<description><![CDATA[<p>Не то чтобы вообще без использования числовых переменных, а вот без этой общей, куда вы всё суммируете. Поразрядно вычислять.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 28 Jun 2016 05:32:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=105632#p105632</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перевод из 36 в 10 систему счисления]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=105630#p105630</link>
			<description><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Вычислять каждую цифру по очереди, не аккумулируя всё число в одной переменной.</p></blockquote></div><p>Не понял.<br />Как вычислить 36 в 15 степени без использования числовой переменной?</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Tue, 28 Jun 2016 04:36:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=105630#p105630</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перевод из 36 в 10 систему счисления]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=105629#p105629</link>
			<description><![CDATA[<div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>хотелось бы узнать по подробнее.</p></blockquote></div><p>Вычислять каждую цифру по очереди, не аккумулируя всё число в одной переменной.</p><p>В AutoHotkey числа 64-битные знаковые, т.е. получается 63 значащих бита. Если число перевалит за 0x7FFFFFFFFFFFFFFF, то начинает отображаться как отрицательное.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 28 Jun 2016 03:32:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=105629#p105629</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перевод из 36 в 10 систему счисления]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=105621#p105621</link>
			<description><![CDATA[<p><strong>YMP</strong><br />Я примерно так и понял, что с разрядностью проблема (попутно нашёл ошибку в скрипте, но это не важно)<br />А вот как<br /></p><div class="quotebox"><blockquote><p>переводить из строкового представления в строковое, минуя числовую переменную.</p></blockquote></div><p>хотелось бы узнать по подробнее.</p><p>В данный момент реализовал весь функционал на ahk, там такой проблемы нет, но он мне меньше нравится, я его (синтаксис) не всегда понимаю.</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Mon, 27 Jun 2016 20:09:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=105621#p105621</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перевод из 36 в 10 систему счисления]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=105613#p105613</link>
			<description><![CDATA[<p>Вы тут прежде всего упираетесь в границу точности того типа числа, который использует в данном случае VBS в переменной Re. Это дробное число двойной точности (VT_R8), которое в памяти хранится в виде мантиссы и экспоненты, и мантисса имеет 53 бита. Т.е. вплоть до числа 9007199254740992 можно этим типом выразить каждое число. Дальше только каждое второе, потом каждое четвёртое и т.д. Т.е. такие числа, у которых дальше первых 53 битов идут нули. Поэтому и в десятичном представлении есть ограничение на число значащих цифр.</p><p>Так что, если не хотите цифры терять, придётся переводить из строкового представления в строковое, минуя числовую переменную.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 27 Jun 2016 16:45:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=105613#p105613</guid>
		</item>
		<item>
			<title><![CDATA[VBS: Перевод из 36 в 10 систему счисления]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=105586#p105586</link>
			<description><![CDATA[<p>Добрый день.<br /></p><div class="codebox"><pre><code>Set lDict = CreateObject(&quot;Scripting.Dictionary&quot;)
lDict.Add &quot;0&quot;, 0
lDict.Add &quot;1&quot;, 1
lDict.Add &quot;2&quot;, 2
lDict.Add &quot;3&quot;, 3
lDict.Add &quot;4&quot;, 4
lDict.Add &quot;5&quot;, 5
lDict.Add &quot;6&quot;, 6
lDict.Add &quot;7&quot;, 7
lDict.Add &quot;8&quot;, 8
lDict.Add &quot;9&quot;, 9
lDict.Add &quot;A&quot;, 10
lDict.Add &quot;B&quot;, 11
lDict.Add &quot;C&quot;, 12
lDict.Add &quot;D&quot;, 13
lDict.Add &quot;E&quot;, 14
lDict.Add &quot;F&quot;, 15
lDict.Add &quot;G&quot;, 16
lDict.Add &quot;H&quot;, 17
lDict.Add &quot;I&quot;, 18
lDict.Add &quot;J&quot;, 19
lDict.Add &quot;K&quot;, 20
lDict.Add &quot;L&quot;, 21
lDict.Add &quot;M&quot;, 22
lDict.Add &quot;N&quot;, 23
lDict.Add &quot;O&quot;, 24
lDict.Add &quot;P&quot;, 25
lDict.Add &quot;Q&quot;, 26
lDict.Add &quot;R&quot;, 27
lDict.Add &quot;S&quot;, 28
lDict.Add &quot;T&quot;, 29
lDict.Add &quot;U&quot;, 30
lDict.Add &quot;V&quot;, 31
lDict.Add &quot;W&quot;, 32
lDict.Add &quot;X&quot;, 33
lDict.Add &quot;Y&quot;, 34
lDict.Add &quot;Z&quot;, 35

a = &quot;000003PNKXIIEVSB&quot;
Re = 0
For i = 0 To Len(a) - 1
  CurL = Mid(a, i + 1, 1)
  Re = Re + lDict.Item(CurL)*(36^(Len(a) - i))
Next
msgbox Re</code></pre></div><p>С алгоритмом перевода проблем нет, проблема с получением результата, например такого<br /></p><div class="codebox"><pre><code>4,88664000042785E+17</code></pre></div><p>Собственно вопрос, как получить число полностью, без E+?<br />Пробовал FormatNumber, но там в конце нули, т.е. заведомо неправильный результат.<br />Заранее спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Mon, 27 Jun 2016 08:52:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=105586#p105586</guid>
		</item>
	</channel>
</rss>
