<?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>
  The default word size for bitwise, two’s complement, and swap endianness functions can be changed both in the <gui style="menuitem">Preferences</gui> menu, or by using the word size button in the bottom of the keypad while in programming mode. This will affect how results from these functions are shown. For example, here we show the two’s complement of the number 6B in 64 bit and 16 bit word sizes:
  </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>
