Aula 03 – Python – Operações aritméticas, operações lógicas e operações bit-a-bit (bitwise) 02

More videos
Views
   

Aula 03 – Curso de Python

Aulas baseadas no livro Python para Desenvolvedores do Luiz Eduardo Borges.

OPERADORES

Operações aritméticas, operações lógicas e operações bit-a-bit (bitwise) continuação.

Operações aritméticas, operações lógicas e operações bit-a-bit (bitwise)

Operações aritméticas, operações lógicas e operações bit-a-bit (bitwise)

Operações aritméticas:

  • Soma (+).
  • Diferença (-).
  • Multiplicação (*).
  • Divisão (/):
    • Python 2: 5 / 2 saída: 2
    • Python 3: 5 / 2 saída: 2.5
  • Divisão inteira (//):
    • Python 2: 5 / / 2 saída: 2
    • Python 3: 5 / / 2 saída: 2
  • Divisão (/):
    • Python 2: 5 / 2 saída: 2
    • Python 3: 5 / 2 saída: 2.5
  • Para que a saída da divisão de inteiros no python2  seja um float como no python 3, você pode usar o import:
    from __future__ import Division

    • Python 2: 5 / 2 saída: 2.5
  • Módulo (%): retorna o resto da divisão.
    • 5 % 2 saída: 1
  • Potência (**): pode ser usada para calcular a raiz, através de expoentes como 1/2, ou seja, 0.5.
    • 5 ** 2 saída: 25
    • 5 ** 0.5 saída: 5.0 (Raiz quadrada)
  • Positivo (+).
  • Negativo (-).

Operações lógicas:

Módulo (%): retorna o resto da divisão.

  • Menor (<).
  • Maior (>).
  • Menor ou igual (<=).
  • Maior ou igual (>=).
  • Igual (==).
  • Diferente (!=).

Operações bit-a-bit: Operadores bitwise são utilizados quando precisamos realizar operações na representação binária de números inteiros.

Caso ambos os operandos sejam strings, esses operadores irão trabalhar com os valores ASCII de seus caracteres

  • Deslocamento para esquerda ( << ).
a = 5 // em binário 00000101
bin(a) //saída '0b101' (0x=hexa, 0b=binario, 0o=octal)
"{0:b}".format(a) //saída '101'
b = a << 3 //desloca 3 casas para esquerda, equivale a multiplicar "a" por 2 três vezes
bin(b) //saída '0b101000', ou
"{0:b}".format(b) //saída '101000'
  • Deslocamento para direita ( >> ). // igual ao anterior, só que a direita.
  • Ou bit-a-bit ( | ). Compara dois valores utilizando suas representações binárias e retorna um novo valor, para formar esse valor de retorno, cada bit é comparado, retornando 1( True ) se um dos bits comparados forem iguais a 1( True ), caso contrário retorna 0 ( False ).
a = 5 // 00000101
b = 3 // 00000011
//   00000101
// | 00000011
//   00000111
c = a | b
  • E bit-a-bit (&). compara dois valores utilizando suas representações binárias e retorna um novo valor, para formar esse valor de retorno, cada bit é comparado, retornando 1( True ) quando ambos os bits forem iguais a 1( True ), caso contrário retorna 0 ( False ).
a = 5 // 00000101
b = 3 // 00000011
//     00000101
//   & 00000011
//     00000001
c = a & b
  • Ou exclusivo bit-a-bit ( ^ ) ( Bitwise XOR ). compara dois valores utilizando suas representações binárias e retorna um novo valor, para formar esse valor de retorno, cada bit é comparado, retornando 1( True ) quando os bits comparados forem diferentes, caso contrário retorna 0 ( False ).
a = 5 // 00000101
b = 3 // 00000011
//     00000101
// ^   00000011
//     00000110
c = a ^ b
  • Inversão (~) ( Bitwise NOT ). A inversão bit a bit de a é definida como – (a + 1). Aplica-se apenas a números integrais.

bin(~0b1111)
'-0b10000'
bin(~0b0000)
'-0b1'
bin(~0b1010)
'-0b1011'
bin(~0b1011)
'-0b1100'
  • Além dos operadores, também existem algumas funções builtin para lidar com tipos numéricos: abs(), que retorna o valor absoluto do número, oct(), que converte para octal, hex(), que converte para hexadecimal, pow(), que eleva um número por outro e round(), que retorna um número real com o arredondamento especificado.

Obrigado

Até a próxima

 

Increva-se

Inscreva-se agora e receba um e-mail assim que eu publicar novo conteúdo.

Concordo em me inscrever no blog Código Fluente

Você poderá cancelar sua inscrição a qualquer momento.

(Visited 14 times, 1 visits today)
About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>