<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=7983&amp;type=atom" />
	<updated>2013-01-17T11:03:29Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=7983</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68608#p68608" />
			<content type="html"><![CDATA[<p>&quot;По умолчанию&quot; имелось в виду, что изначально скрипт работает с десятичным представлением чисел, и команда <strong>SetFormat</strong> не применяется для его смены. Разумеется, Ваш вариант более универсален.</p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2013-01-17T11:03:29Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68608#p68608</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68605#p68605" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>Так оно и так по умолчанию работает.</p></blockquote></div><p>В смысле?<br /></p><div class="codebox"><pre><code>SetFormat, Integer, H
MsgBox, % dec2bin(256)

dec2bin(N)
{
   While N
      A := N&amp;1 . A , N //= 2
   return A
}</code></pre></div><div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>Конечно, если &quot;где-то, там..&quot; вывод меняется на 16-ричный</p></blockquote></div><p>Ну, не знаю, обычно такие вещи принято учитывать (так же, как и состояние <em>A_DetectHiddenWindows</em>, например). Сам не раз имел с этим проблемы.<br /></p><div class="quotebox"><cite>creature.ws пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Сдвиг лучше, чем деление (теоретически быстрее выполняется).</p></blockquote></div><p>— Если оперировать машинным кодом..</p></blockquote></div><p>Действительно, проверил — одинаково получается.</p><p>Обратный перевод:<br /></p><div class="codebox"><pre><code>SetFormat, integer, H      ; просто для проверки
MsgBox, % FromBin(&quot;1010101111001101&quot;)   ; обязательно в кавычках

FromBin(bin)
{
   Loop, parse, bin
      Num := (Num ? Num &lt;&lt; 1 : 0)|A_LoopField
   Return Num
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-01-17T10:29:23Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68605#p68605</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68595#p68595" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Ну и о возможном 16-ричном формате записи чисел не нужно забывать!</p></blockquote></div><p>Так оно и так по умолчанию работает. <span class="postimg"><img src="http://resources.pokerstrategy.com/smileys/confused.gif" alt="http://resources.pokerstrategy.com/smileys/confused.gif" /></span><br />Можно и без <strong>SetFormat, integer, H</strong> в моем примере записать<br /></p><div class="codebox"><pre><code>MsgBox % dec2bin(0x1A)</code></pre></div><p> И получить правильный ответ.</p><p>Конечно, если &quot;где-то, там..&quot; вывод меняется на 16-ричный, можно обвешивать функцию всякими дополнительными проверками и условиями. Врял ли ТС&#039;у нужна чересчур продвинутая функциональность от скрипта &quot;на 1 раз&quot;.<br />А то так можно дойти до предположений, к примеру, а что если он не может прочитать ответ с экрана, и озвучивать его морзянкой? 1 - длинный сигнал, 0 - короткий <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2013-01-17T08:11:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68595#p68595</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68592#p68592" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Сдвиг лучше, чем деление (теоретически быстрее выполняется).</p></blockquote></div><p>— Если оперировать машинным кодом.</p><p>Autohotkey собирается актуальной версией Visual Studio, что-то мне подсказывает, что математические операции в интерпретаторе уже оптимизированы.</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2013-01-17T05:22:08Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68592#p68592</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68586#p68586" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>меньше переменных</p></blockquote></div><p>Просто почему-то подумал, что с параметром функции нельзя производить операций <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.<br />Сдвиг лучше, чем деление (теоретически быстрее выполняется).<br />Функция переводит не только 10-тичные, но и 16-ричные.<br />Ну и о возможном 16-ричном формате записи чисел не нужно забывать!<br /></p><div class="codebox"><pre><code>SetFormat, integer, H
MsgBox, % ToBin(0xFF)

ToBin(Number)
{
   Loop
      bin := (Number&amp;1 ? 1 : 0) . bin
   until !(Number &gt;&gt;= 1)
   Return bin
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-01-16T23:55:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68586#p68586</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68585#p68585" />
			<content type="html"><![CDATA[<p>Модератор бдит <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Немного не успел выложить свой вариант. Добавлю до&nbsp; кучи, тем более он&nbsp; схож с первоначально предложеным, разве что чуть проще запись и меньше переменных ))<br /></p><div class="codebox"><pre><code>dec2bin(N)
{
   While N
      A := N&amp;1 . A , N //= 2
   return A
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2013-01-16T23:38:31Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68585#p68585</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68584#p68584" />
			<content type="html"><![CDATA[<p>На самом деле точнее нужно так:<br /></p><div class="codebox"><pre><code>ToBin(Number)
{
   PrevFormat := A_FormatInteger
   SetFormat, IntegerFast, D
   
   while n := Number &gt;&gt; (A_Index - 1)
      bin := n&amp;1 . bin
   
   SetFormat, IntegerFast, % PrevFormat
   return bin
}</code></pre></div><div class="quotebox"><cite>VovanKaban пишет:</cite><blockquote><p>но значки &gt;&gt;, n&amp;1 . bin&nbsp; - меня приводят в замешательство.</p></blockquote></div><p><a href="http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8#.D0.9B.D0.BE.D0.B3.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B9_.D1.81.D0.B4.D0.B2.D0.B8.D0.B3">&gt;&gt;</a><br /><a href="http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%8A%D1%8E%D0%BD%D0%BA%D1%86%D0%B8%D1%8F">&amp;</a><br />bin — просто переменная.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-01-16T23:25:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68584#p68584</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68583#p68583" />
			<content type="html"><![CDATA[<p>Красивый код. То, что нужно. Проверил работает.<br />Если бы писал сам вышло бы на пол страницы.<br />Огромное спасибо.<br />РС. хотя если честно не совсем понял код. <br />Алгоритм нахождения числа делением на два и записыванием остатка мне знаком,<br />но значки &gt;&gt;, n&amp;1 . bin&nbsp; - меня приводят в замешательство.</p>]]></content>
			<author>
				<name><![CDATA[VovanKaban]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28345</uri>
			</author>
			<updated>2013-01-16T23:15:42Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68583#p68583</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68582#p68582" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>ToBin(Number)
{
   while n := Number &gt;&gt; (A_Index - 1)
      bin := n&amp;1 . bin
   return bin
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-01-16T23:07:33Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68582#p68582</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68581#p68581" />
			<content type="html"><![CDATA[<p><span style="color: #008800"><strong>VovanKaban</strong>, ознакомься с <a href="http://forum.script-coding.com/viewtopic.php?id=6148">этой</a> темой, отредактируй свой пост.</span></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-01-16T22:57:44Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68581#p68581</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Перевод десятичных чисел в двоичную систему счисления]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=68580#p68580" />
			<content type="html"><![CDATA[<p>Подскажите функцию(процедуру) или готовый скрипт перевода <br />десятичных чисел в двоичную систему счисления.</p><p>Спасибо за ответ.</p><p>РС. поиском пользовался. К сожалению по запросу система счисления, двоичная.. и прочих ничего не нашел.</p>]]></content>
			<author>
				<name><![CDATA[VovanKaban]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28345</uri>
			</author>
			<updated>2013-01-16T22:38:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=68580#p68580</id>
		</entry>
</feed>
