<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="guide" id="mode-programming" xml:lang="pt_BR">

  <info>
      <link type="guide" xref="index#number"/>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Irapuan Pascoal</mal:name>
      <mal:email>irapuan.menezes@gmail.com</mal:email>
      <mal:years>2007</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Georges Basile Stavracas Neto</mal:name>
      <mal:email>georges.stavracas@gmail.com</mal:email>
      <mal:years>2013</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Lucas Romero de Abreu</mal:name>
      <mal:email>lucasdeabreu@gmail.com</mal:email>
      <mal:years>2013</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Enrico Nicoletto</mal:name>
      <mal:email>liverig@gmail.com</mal:email>
      <mal:years>2013</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Felipe Braga</mal:name>
      <mal:email>fbobraga@gmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Rafael Fontenelle</mal:name>
      <mal:email>rafaelff@gnome.org</mal:email>
      <mal:years>2013-2021</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Leônidas Araújo</mal:name>
      <mal:email>leorusvellt@hotmail.com</mal:email>
      <mal:years>2023</mal:years>
    </mal:credit>
  </info>

      <title>Modo Programável</title>

  <p>O <gui style="menuitem">modo Progamável</gui> fornece as ferramentas necessárias para operações matemáticas comuns no desenvolvimento de software. Por exemplo, o modo de programação facilita muito a matemática com números hexadecimais. Ele também suporta <link xref="boolean">operadores bit a bit</link> comuns, como <gui>NOT</gui>, <gui>AND</gui>, <gui>OR</gui>, etc. Uma visualização binária para números de até 64 bits é exibida, onde o usuário pode alternar manualmente cada bit usando o cursor do mouse.</p>
  <p>Além disso, operações de deslocamento de bits são possíveis usando os botões <gui>≪</gui>, <gui>≫</gui> e <gui>⋙</gui>. A <link xref="modulus">aritmética de módulo</link> pode ser realizada usando o botão <gui>mod</gui></p>
  <p>O tamanho de palavra padrão para funções bit a bit, complemento de um, complemento de dois e endianidade de troca pode ser alterado no menu <gui style="menuitem">Preferências</gui> ou usando o botão de tamanho de palavra na parte inferior do teclado numérico, no modo Programável. Isso afetará a forma como os resultados dessas funções são exibidos. Por exemplo, aqui mostramos o complemento de dois do número 6B em tamanhos de palavra de 64 bits e 16 bits:</p>
    <example>
    <p>64 bit:</p>
    <p>dois 6B</p>
    <p>FFFFFFFFFFFFFF95</p>
    <p>16 bit:</p>
    <p>dois 6B</p>
    <p>FF95</p>
    </example>
    <note style="warning">
    <p>Tentar inserir um número maior do que o permitido no tamanho de palavra selecionado resultará em um erro de estouro.</p>
    </note>

</page>
