<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem shift</title>
<link>https://forum.pasja-informatyki.pl/tag/shift</link>
<description>Powered by Question2Answer</description>
<item>
<title>Shift i CTRL</title>
<link>https://forum.pasja-informatyki.pl/494615/shift-i-ctrl</link>
<description>głupi, nie dający mi normalnie pracować problem&lt;br /&gt;
&lt;br /&gt;
Po naciśnięciu klawisza Shift lub CTRL, klawisze automatycznie trzymają się wciśnięte do momentu, aż nie wcisnę innego klawisza. Jak to się wyłącza, by działało normalnie? &lt;br /&gt;
&lt;br /&gt;
system win10, komputer: Acer</description>
<category>Systemy operacyjne, programy</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/494615/shift-i-ctrl</guid>
<pubDate>Wed, 17 Jun 2020 13:30:13 +0000</pubDate>
</item>
<item>
<title>Keycode z klawiszem shift</title>
<link>https://forum.pasja-informatyki.pl/462468/keycode-z-klawiszem-shift</link>
<description>

&lt;p&gt;Cześć,&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Próbuję zrobić wirtualne pianino, zbliżam się już ku końcowi jednak zostały mi dwa problemy do rozwiązania.&lt;/p&gt;



&lt;p&gt;Jeśli chodzi o js, jestem jeszcze dosyć zielony więc zwracam się z prośbą o pomoc.&lt;/p&gt;



&lt;p&gt;Mam już kod uruchamiający audio dla konkretnych klawiszy na klawiaturze, moje wirtualne pianino ma tyle klawiszy, że postanowiłem uaktywnić niektóre z nich poprzez połączenie dwóch klawiszy z klawiatury (shift + 1, shift + w itd.)&lt;/p&gt;



&lt;p&gt;Jednak głowię się jak rozwiązać ten problem z shiftem, zupełnie nie wiem jak się za to zabrać.&lt;/p&gt;



&lt;p&gt;Czyli bazując na poniższym kodzie dla klawiszy klawiatury, potrzebuję pomocy z kodem dla dwóch wcisniętych klawiszy uruchamiających jeden klawisz pianina.&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
window.addEventListener('load', () =&amp;gt; {

    const sounds =  document.querySelectorAll('.sound');
    const pads =  document.querySelectorAll('.pads div, .pads-shift div');

    window.addEventListener('keydown', function(e) {
        const audio = document.querySelector(`audio[data-key=&quot;${e.keyCode}&quot;]`);
        

       
      
        if (!audio) return;
        audio.currentTime = 0;
        audio.play();
        audio.classList.add(&quot;.keydown&quot;);
       
        });&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/462468/keycode-z-klawiszem-shift</guid>
<pubDate>Wed, 11 Dec 2019 18:58:32 +0000</pubDate>
</item>
<item>
<title>[C++] operatory binarne, przesunięcie bitowe, not</title>
<link>https://forum.pasja-informatyki.pl/359493/c-operatory-binarne-przesuniecie-bitowe-not</link>
<description>

&lt;p&gt;Witam.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Napisałem dla testu taki kod:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;

#define L_SH(x,y) ((x)&amp;lt;&amp;lt;(y))
#define R_SH(x,y) ((x)&amp;gt;&amp;gt;(y))

int main(){
    std::cout&amp;lt;&amp;lt;&quot;Enter math expression: \n&quot;;
    std::cout&amp;lt;&amp;lt; (5 | 3) &amp;lt;&amp;lt;&quot;\n&quot;; // 0101 | 0011 = 0111 (7)
    std::cout&amp;lt;&amp;lt; (5 &amp;amp; 3) &amp;lt;&amp;lt;&quot;\n&quot;; // 0101 &amp;amp; 0011 = 0001 (1)
    std::cout&amp;lt;&amp;lt; (5 ^ 3) &amp;lt;&amp;lt;&quot;\n&quot;; // 0101 ^ 0011 = 0100 (4)
    std::cout&amp;lt;&amp;lt; ~5 &amp;lt;&amp;lt;&quot; &quot;&amp;lt;&amp;lt; ~3 &amp;lt;&amp;lt;&quot;\n&quot;; // ~0101 ~0011 = 1010 (10) 1100 (12)
    std::cout&amp;lt;&amp;lt; ~-5 &amp;lt;&amp;lt;&quot; &quot;&amp;lt;&amp;lt; ~-3 &amp;lt;&amp;lt;&quot;\n\n&quot;; // ?

    std::cout&amp;lt;&amp;lt;&quot;LEFT: 20 - 1, 2\n&quot;;
    std::cout&amp;lt;&amp;lt; L_SH(20, 1) &amp;lt;&amp;lt;&quot;  &quot;&amp;lt;&amp;lt; L_SH(20, 2) &amp;lt;&amp;lt;&quot;\n\n&quot;; // 10100 &amp;lt;&amp;lt;1 01000 (8) - 10100 &amp;lt;&amp;lt;2 10000 (16)
    std::cout&amp;lt;&amp;lt;&quot;RIGHT: 20 - 1, 2\n&quot;;
    std::cout&amp;lt;&amp;lt; R_SH(20, 1) &amp;lt;&amp;lt;&quot;  &quot;&amp;lt;&amp;lt; R_SH(20, 2) &amp;lt;&amp;lt;&quot;\n\n&quot;; // 10100 1&amp;gt;&amp;gt; 01010 (10) - 10100 2&amp;gt;&amp;gt; 00101 (5)

}
&lt;/pre&gt;



&lt;p&gt;Mam taki output:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
Enter math expression:
7 (or)
1 (and)
6 (xor)
-6 -4 (not +)
4 2 (not -)

LEFT: 20 - 1, 2 (bit shift)
40  80 

RIGHT: 20 - 1, 2 (bit shift)
10  5&lt;/pre&gt;



&lt;p&gt;(to co w nawiasach dopisałem dla łatwiejszej orientacji)&lt;/p&gt;



&lt;p&gt;O ile or, and, xor, not z dodatnim rozumiem, o tyle nie wiem dlaczego not z ujemnym daje wyniki 4, 2. Czy mógłby mi ktoś wyjaśnić jak mniej więcej powinna wyglądać treść tamtego komentarza? Dlaczego wyniki są takie, a nie inne?&lt;/p&gt;



&lt;p&gt;Dodatkowo. Zdziwiło mnie kiedy przy komentowaniu lewego przesunięcia bitowego wychodziły mi te wyniki. Po włączeniu programu okazało się, iż byłem w błędzie i wyniki są prawidłowe. Czy mógłby mnie ktoś wyprowadzić z błędu?&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Pozdrawiam.&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/359493/c-operatory-binarne-przesuniecie-bitowe-not</guid>
<pubDate>Wed, 20 Jun 2018 12:30:10 +0000</pubDate>
</item>
<item>
<title>Przesunięcia bitowe - przydatny programik.</title>
<link>https://forum.pasja-informatyki.pl/35470/przesuniecia-bitowe-przydatny-programik</link>
<description>

&lt;p&gt;Napisałem program, który pozwoli mi i każdemu kto jeszcze tego nie ogarnia, zrozumieć przesunięcia bitowe.&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;cmath&amp;gt;

void binarne(int x, int y, bool lewo)
{
    int n = int(log2(x))+1;

    if(lewo == true)
        x&amp;lt;&amp;lt;=y;
    else
    {
        if(y &amp;gt;= n)
        {
            puts(&quot;Za dużo chciałeś przesunąć! Nie ma tak dobrze!&quot;);
            return;
        }
        else
            x&amp;gt;&amp;gt;=y;
    }

    n = int(log2(x))+1;

    bool tab[n];
    int i = n-1;

    while(x &amp;gt; 0 &amp;amp;&amp;amp; i &amp;gt;= 0)
    {
        if(x%2==0)
            tab[i] = 0;
        else
            tab[i] = 1;
        x/=2;
        i--;
    }

    for(int i = 0; i &amp;lt; n; i++)
        tab[i] ? printf(&quot;1&quot;) : printf(&quot;0&quot;);
    puts(&quot;&quot;);
}

int main()
{
    int a, b;
    puts(&quot;Podaj liczbe w systemie dziesietnym: &quot;);
    scanf(&quot;%d&quot;, &amp;amp;a);
    puts(&quot;Podaj o ile przesunac liczbe: &quot;);
    scanf(&quot;%d&quot;, &amp;amp;b);

    puts(&quot;Oryginalna liczba w systemie dwójkowym: &quot;);
    binarne(a, 0, 0);
    puts(&quot;Przesunięta w lewo liczba w systemie dwójkowym: &quot;);
    binarne(a, b, 1);
    puts(&quot;Przesunięta w prawo liczba w systemie dwójkowym: &quot;);
    binarne(a, b, 0);
}
&lt;/pre&gt;



&lt;p&gt;Testujcie, subskrybujcie (&lt;img alt=&quot;laugh&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/teeth_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;laugh&quot;&gt;), kompilujcie, błędy zgłaszać w tym temacie.&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/35470/przesuniecia-bitowe-przydatny-programik</guid>
<pubDate>Mon, 29 Jun 2015 07:27:12 +0000</pubDate>
</item>
</channel>
</rss>