| Dec. | Binário | Dec. | Binário | Dec. | Binário | Dec. | Binário | |||
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0000 | 4 | 0100 | 8 | 1000 | 12 | 1100 | |||
| 1 | 0001 | 5 | 0101 | 9 | 1001 | 13 | 1101 | |||
| 2 | 0010 | 6 | 0110 | 10 | 1010 | 14 | 1110 | |||
| 3 | 0011 | 7 | 0111 | 11 | 1011 | 15 | 1111 |
| Potência | Valor | Potência | Valor | |
|---|---|---|---|---|
| 1 | 32 | |||
| 2 | 64 | |||
| 4 | 128 | |||
| 8 | 256 | |||
| 16 | 512 |
| Valor | Sufixo | Sigla | Valor | Sufixo | Sigla | |
|---|---|---|---|---|---|---|
| 1000 | K | Kilo | 1024 | Ki | Kibi | |
| M | Mega | Mi | Mebi | |||
| G | Giga | Gi | Gibi | |||
| T | Tera | Ti | Tebi | |||
| P | Peta | Pi | Pebi | |||
| E | Exa | Ei | Exbi | |||
| Z | Zetta | Zi | Zebi |



| A | B | A AND B | A OR B | A XOR B | NOT A |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 |

| Instrução | Formato | Uso |
|---|---|---|
| XOR | R | XOR rd, rs1, rs2 |
| XOR immediato | I | XORI rd, rs1, imm |
| OR | R | OR rd, rs1, rs2 |
| OR immediato | I | ORI rd, rs1, imm |
| AND | R | AND rd, rs1, rs2 |
| AND immediato | I | ANDI rd, rs1, imm |
NOT é uma pseudo-instrução que pode ser implementada com XORI.
Números negativos podem ser representados em múltiplas formas
É importante notar que trata-se apenas de uma forma de interpretar os dados
Regra de conversão: inverte todos os bits
Dado um número binário, inverte-se todos os seus bits
Cabe a você, programador, fazer essa interpretação de números negativos ou positivos
Continuando com os exemplos:
Definição: É a representação binária que permite que a expressão
0110 + 1010 = 0000 → (6 + -6 = 0)
Regra de conversão 1: Inverte todos os bits (complemento de 1) e soma 1
Regra de conversão 2: Repete os bits da direita para a esquerda até encontrar o primeiro 1 (repete esse um) e inverte todos os bits a partir dele.
Se o número tiver o bit mais significativo igual a 1, então ele é negativo. Caso contrário, ele é positivo.
| Palavra | O que significa? |
|---|---|
| Borracha | |
| Brinco | |
| Chulo | |
| Enojado | |
| Frente | |
| Largo | |
| Pastel |
| Palavra em espanhol | O que de fato significa |
|---|---|
| Borracha | Bêbada |
| Brinco | Pulo |
| Chulo | Legal |
| Enojado | Zangado |
| Frente | Testa |
| Largo | Longo |
| Pastel | Bolo |
| Decimal | Binário em complemento de 2 utilizando 6 bits |
|---|---|
| -1 | |
| -6 | |
| -9 | |
| 8 | |
| -15 |
| Decimal | Binário em complemento de 2 utilizando 6 bits |
|---|---|
| -1 | 111111 |
| -6 | 111110 |
| -9 | 110111 |
| 8 | 001000 |
| -15 | 100001 |
Note que 1000 0111 também pode ser -121
| Binário | Hexadecimal |
|---|---|
| 0100 1101 | |
| 1010 0101 | |
| 0110 1000 |

Cada posição de memória tem um endereço individual
Os registradores do RISC-V são de 32 bits (4 bytes)
O que acontece se eu armazenar o número 0x12345678 na posição 1000 de memória?
Como você começa a ler o texto a seguir?

| Posição de Memória | 1000 | 1001 | 1002 | 1003 |
|---|---|---|---|---|
| Opção 1 | 0x12 | 0x34 | 0x56 | 0x78 |
| Opção 2 | 0x78 | 0x56 | 0x34 | 0x12 |
| Posição de Memória | 1000 | 1001 | 1002 | 1003 |
|---|---|---|---|---|
| Big Endian | 0x12 | 0x34 | 0x56 | 0x78 |
| Litle Endian | 0x78 | 0x56 | 0x34 | 0x12 |
RISC-V, x86, ARM, NVidia são little endian