<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; И опять побитовые операции.]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=13770&amp;type=atom" />
	<updated>2011-05-23T10:34:52Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=13770</id>
		<entry>
			<title type="html"><![CDATA[Re: И опять побитовые операции.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=181793#p181793" />
			<content type="html"><![CDATA[<p>Логика получения маски, пример для n=2,p=5, счёт битов справа налево с 1, для простоты показаны младшие 8 бит:<br /></p><div class="codebox"><pre><code>0:                    00000000
~0:                   11111111
~0&lt;&lt;n:                11111100
~(~0&lt;&lt;n):             00000011
~(~0&lt;&lt;n)&lt;&lt;(p-n):      00011000</code></pre></div>]]></content>
			<author>
				<name><![CDATA[bormant]]></name>
				<uri>https://linuxforum.ru/profile.php?id=732</uri>
			</author>
			<updated>2011-05-23T10:34:52Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=181793#p181793</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: И опять побитовые операции.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=181393#p181393" />
			<content type="html"><![CDATA[<p>hardorsoft,<br />маску можно получить так :<br /></p><div class="codebox"><pre><code>(((~0u &lt;&lt; (sizeof(0u)*8 - p - n +1)) &gt;&gt; (sizeof(0u)*8 - p - n +1)) &gt;&gt; ( p - 1)) &lt;&lt; (p - 1)</code></pre></div><p>работоспособность не проверял, т.к. писал &quot;на коленке&quot;, но вроде оно =)</p>]]></content>
			<author>
				<name><![CDATA[RasenHerz]]></name>
				<uri>https://linuxforum.ru/profile.php?id=14409</uri>
			</author>
			<updated>2011-05-21T11:44:16Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=181393#p181393</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: И опять побитовые операции.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=181337#p181337" />
			<content type="html"><![CDATA[<p>((~0 &amp; (p+n)) -- попробуйте объяснить, чего хотели этим достичь (пошагово по действиям), и легко найдёте ошибку.</p>]]></content>
			<author>
				<name><![CDATA[bormant]]></name>
				<uri>https://linuxforum.ru/profile.php?id=732</uri>
			</author>
			<updated>2011-05-21T03:30:17Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=181337#p181337</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: И опять побитовые операции.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=181207#p181207" />
			<content type="html"><![CDATA[<p>не верно.</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2011-05-20T12:11:12Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=181207#p181207</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: И опять побитовые операции.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=181191#p181191" />
			<content type="html"><![CDATA[<p>Может так?<br /></p><div class="codebox"><pre><code>invert(x, p, n)
{
  return(x ^ ((~0 &amp; (p+n)) &lt;&lt; (p-n)));
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[hardorsoft]]></name>
				<uri>https://linuxforum.ru/profile.php?id=14750</uri>
			</author>
			<updated>2011-05-20T11:20:19Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=181191#p181191</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: И опять побитовые операции.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=181165#p181165" />
			<content type="html"><![CDATA[<p>1) составляете mask, где n битов начинающихся с позиции p равны единице, а всё остальное нули<br />2) x ^ mask</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2011-05-20T09:56:46Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=181165#p181165</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[И опять побитовые операции.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=181162#p181162" />
			<content type="html"><![CDATA[<p>Здравствуйте!<br />Еще одна задача на побитовые операции. Ну никак они мне не даются, вы уж простите...</p><p>Напишите программу для функции invert(x, p, n), которая инвертирует (т.е. заменяет 1 на 0 и наоборот) n битов x, начинающихся с позиции р, оставляя другие биты неизменными.</p>]]></content>
			<author>
				<name><![CDATA[hardorsoft]]></name>
				<uri>https://linuxforum.ru/profile.php?id=14750</uri>
			</author>
			<updated>2011-05-20T09:51:43Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=181162#p181162</id>
		</entry>
</feed>
