-
Notifications
You must be signed in to change notification settings - Fork 1
/
utils.py
60 lines (47 loc) · 1.2 KB
/
utils.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
"""
Autores: Vinicius Cerutti e Yuri Bittencourt
Trabalho de Introdução a Redes de Computadores 2019/1
"""
"""
Metodo que calcula a paridade de n, retorna "1" se impar,
caso contrário retorna "0".
"""
def parity(n):
if n.count("1") % 2 == 0:
return "0"
return "1"
"""
Metodo que converte uma string de caracteres para string de
binários com padding definido.
"""
def char_to_bin(letter, padding):
return (bin(ord(letter))[2:]).zfill(padding)
"""
Metodo que converte um inteiro para string de binarios com padding
definido.
"""
def int_to_bin(number, padding):
return (bin(number)[2:]).zfill(padding)
"""
Metodo que converte uma string hexadecimal para string de binarios
com padding definido.
"""
def hex_to_bin(number, padding):
return bin(int(number, 16))[2:].zfill(padding)
"""
Metodo que converte uma string de binarios para string
de caracteres ASCII.
"""
def bin_to_ascii(binary):
return chr(int(binary, 2))
"""
Metodo que converte uma string de binarios para
string de hexadecimais.
"""
def bin_to_hex(binary):
return hex(int(binary, 2))[2:]
"""
Metodo que converte uma string de binarios para um inteiro.
"""
def bin_to_int(binary):
return int(binary, 2)