maneira mais simples de verificar se dois números inteiros têm o mesmo sinal?
<p>qual é a maneira mais simples de verificar se dois números inteiros têm o mesmo sinal? existe algum truque bit a bit para fazer isso?</p>
<p>aqui está uma versão que funciona em c/c++ que não depende de tamanhos inteiros ou tem o problema de estouro (ou seja, x * y&gt; = 0 não funciona)</p><pre><code>bool samesign(int x, int y) { return (x &gt;= 0) ^ (y &lt; 0); } </code></pre><p>claro, você pode dar uma olhada e criar um modelo:</p><pre><code>template &lt;typename valuetype&gt; bool samesign(typename valuetype x, typename valuetype y) { return (x &gt;= 0) ^ (y &lt; 0); } </code></pre><p>nota: como estamos usando exclusive ou, queremos que o lhs e o rhs sejam diferentes quando os sinais forem os mesmos, portanto, a verificação diferente será zero.</p>
<p>o <code>while</code> está checando se o valor é null. enquanto não for null, continua infinitamente.</p>
<p>o enter não é null. se quiser checar uma linha vazia, faça algo como <code>while(!s.isempty())</code></p> Você provavelmente está pensando sobre o termo **octeto** que é muitas vezes usado como sinônimo de um caractere de byte único (não-unicode). Octeto neste caso significa oito bits. Um personagem pode ser oito ou dezesseis ou mesmo mais bits, mas um octeto é sempre oito bits. <p>não tem muita diferença nao. o que muda é o retorno ser int ou integer. 
agora é uma questão pessoal.. eu não uso apenas objetos. em muitos casos eu uso primitivos.</p> Você pode verificar o valor do caráter:



```
if ord(c) < 128 then
    // is an ascii character

``` <p>opa mayki, tudo bem com você?</p>
<p>isso aconteceu porque o <code>&#43;</code> também é um quantificador dentro das expressões regulares, então precisamos utilizar a <code>\</code> para dizer que queremos o literal mesmo:</p>
<p>eu criei uma regex para testar aqui, um pouco diferente da sua veja:</p>
<pre class="prettyprint"><code>let pattern &#61; /[\d\.]&#43;e\&#43;\d{2}/g</code></pre><p>veja que eu estou criando um grupo que vai receber dígitos e ponto final, ai eu utilizo o <code>&#43;</code> para identificar que esse padrão de números e pontos para pegar mais de um</p>
<p>depois coloquei o <code>e</code>e o <code>\&#43;</code> para identificar que é de fato um <code>&#43;</code> e um <code>\d{2}</code> para ser os 2 últimos digitos</p>
<p>testando esse padrão:</p>
<pre class="prettyprint"><code>let valor &#61; &#34;2.4446506362607e&#43;29&#43;3.7298826723704e&#43;29&#34;
let pattern &#61; /[\d\.]&#43;e\&#43;\d{2}/g

let resposta &#61; valor.matchall(pattern)
resposta.next()

&gt;&gt;&gt;&gt;
done: false
value: array [ &#34;2.4446506362607e&#43;29&#34; ]

resposta.next()
&gt;&gt;&gt;
done: false
value: array [ &#34;3.7298826723704e&#43;29&#34; ]
</code></pre><p>compreendeu? </p>
<p>abraços e bons estudos!</p> <p>olá dácio!</p>
<p>conseguiu resolver sua dúvida?</p>
<p>caso sim, peço para que marque uma solução para fecharmos o tópico!</p>
<p>assim alunos com dúvidas semelhantes poderão encontrar mais facilmente!</p>
<p>obrigado! ^^</p> É normal que o celular peça o seu código PIN, pois esta é uma senha de segurança. Veja no cartão do seu chip. <p>oi thiago tudo bem?</p>
<p>você tem que usar o laço for para fazer o código. veja como eu fiz e tente fazer depois sozinho.</p>
<pre class="prettyprint"><code>#include &lt;stdio.h&gt;

int main()
{ 

 int a;
 printf(&#34;entre um número inteiro positivo\n&#34;);
 scanf(&#34;%d&#34;, &amp;a);

 int b;
 printf(&#34;entre um outro número inteiro positivo\n&#34;);
 scanf(&#34;%d&#34;, &amp;b);

 int soma&#61;0;
 int contador;
 for(contador &#61; a&#43;1; contador &lt; b; contador&#43;&#43;)
 {
 soma&#61;soma&#43;contador;
 }


 printf(&#34;a soma é %d\n&#34;, soma);
 return 0;
}
</code></pre><p>espero ter ajudado!!!</p> <p>fiquei curioso e baixei aqui</p>
<p>simples e eficaz!</p> Sou técnico em informática e te falo o seguinte... quando isso ocorre é o processador/memória, você vai precisar testar ambos para descobrir.