Esse site utiliza cookies
Nós armazenamos dados temporariamente para melhorar a sua experiência de navegação e recomendar conteúdo do seu interesse.
Ao utilizar os nossos serviços, você concorda com as nossas políticas de privacidade.
Esse site utiliza cookies
Nós armazenamos dados temporariamente para melhorar a sua experiência de navegação e recomendar conteúdo do seu interesse.
Ao utilizar os nossos serviços, você concorda com as nossas políticas de privacidade.
Categoria de Tecnologia
Postado em 17 abril 2023
Atualizado em 17 abril 2023
Palavras-chave: usb,bytes,bit,ordem,extremidade,endianness,little,big
Visualizações: 1053
O idioma português é bastante semelhante com o inglês em aspectos gramaticais. Essas características em comum passam despercebidas por pessoas que já são acostumados com umas das línguas. Porém, caso um nativo da língua árabe comece a aprender inglês, ele encontrará problemas que um nativo em português nunca encontrou, como a ordem da escrita do idioma. Na língua árabe, as sentenças são escritas da direita para esquerda, enquanto que no inglês, a ordem é da esquerda para a direita.
Na computação, existe um problema semelhante ao exemplo acima e se refere a ordem que os bytes são armazenados pelo processador na memória do computador. É a extremidade.
Esse termo vem do inglês “endianness” e pode ser traduzido para “extremidade” em português. Esse conceito se refere a ordem em que os dados são armazenados na memória do computador.
Originalmente, o termo “endianness” foi importado do livro “As viagens de Gulliver”. O livro abordava sobre um guerra civil entre dois tipos de pessoas:
O motivo da guerra era que os Big-endians preferiam quebrar o ovo pela parte maior e os Little-endians preferiam quebrar pela parte menor.
Esse conceito foi adotado na computação para descrever a ordem em que os dados são armazenados na memória do computador.
A extremidade na computação se refere a ordem que os bytes são armazenados na memória da máquina. O conceito se aplica aos bytes e não aos bits (1byte = 8bits).
Apesar dos processadores atuais serem little-endians, ainda existem processadores big-endians. O grande problema ocorre na troca de dados entre duas máquinas com diferentes extremidades através da internet ou através de dispositivos de transferência de dados, como o USB. Quando existe transferência de dados entre duas máquinas com extremidades diferentes, pode acontecer um problema de incompatibilidade de ordem de bytes. A máquina que está recebendo os dados pode interpretar os bytes incorretamente, resultando em problemas como erros ou comportamentos imprevisíveis do sistema. Por essa razão, muitos protocolos de comunicação divulgam documentos contendo informações sobre a ordem dos bytes que os dados são processados.
A extremidade não se aplica apenas em nível hardware, podendo ser também usada no nível software. Um bom exemplo são os arquivos PNG, que usam a mesma ordem de bytes da internet (Network byte order) que é big-endian. Para processadores como Intel, presente em quase todos os computadores residenciais atuais, se comunicar com a internet poderia trazer problemas, uma vez que os processadores Intel são little-endians. Porém, antes de começar a emitir os pacotes de dados através da rede mundial de computadores, a máquina emissora faz a conversão da extremidade dos dados usando a função htons (Host to network short). Quando os pacotes de dados chegam na máquina destino, caso haja a necessidade, os dados são convertidos para o formato little-endian outra vez, dessa vez usando a função ntohs (Network to host short),
O valor depende da interpretação do leitor. Usaremos como exemplo o número decimal 12,345. Se segmentarmos cada algoritmo na numeração decimal, podemos chegar a seguinte conclusão:
Nós lemos os números na ordem big-end. Isso é, da ordem do maior para o menor número. Se adicionarmos 1 ao maior número, teremos um resultado de 22,345. Entretanto se adicionarmos 1 ao menor número teremos um resultado de 12,346. Em bits é a mesma coisa.
Os dados são armazenados em números binários na memória do computador. O problema de extremidade entre little-end e big-end só acontece em bytes, os bits não são afetados e sempre seguem a mesma ordem.
Ambos os valores acima, dependendo da extremidade da máquina possuem o mesmo valor. Em uma máquina little-endian, os bytes com menor valor são ordenados antes dos bytes com maior valor. Em uma máquina big-endian, os bytes maiores são ordenados antes dos bytes com menor valor.
A extremidade é a ordem em que os bytes são gerenciados em uma máquina. Existem máquinas little-endians e big-endians. É importante saber a extremidade das máquinas, principalmente quando há troca de informação entre elas, uma vez que isso define como a máquina irá enviar ou interpretar os dados.
Projetos práticos
Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.
Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.
Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript
Convertendo imagens para ascii art usando o valor da intensidade das cores cinzentas.
Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.
Uma rede interna sem um firewall é como se fosse uma casa com a porta destrancada. Um indivíduo com más intenções pode se aproveitar para a invadir quando menos esperamos.
Digitalizar documentos facilita o gerenciamento, aumenta a disponibilidade e economiza tempo, consequentemente trazendo muitos outros benefícios.
A notação do O grande é um método de fácil implementação, usado para avaliar a eficiência de um algoritmo em relação ao tempo de processamento.
O algoritmo é um conjunto de instruções escritas por um programador com intuito de solucionar um problema ou obter um resultado previsto.
O sistema de numeração binário é composto por apenas dois algarismos, 0 (zero) e 1 (um). Na computação, cada número binário é chamado de bit.
Usado como identificador em uma rede local. Possui 48bits e mais de 280 trilhões de variações que podem ser atribuídas aos dispositivos.