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