Exemplos de limitações em TI devido ao comprimento de bit diferente por design [fechado]


8

Estou ministrando o curso "Introdução à programação" para os alunos do primeiro ano e gostaria de encontrar exemplos interessantes em que o tamanho do tipo de dados em bits, escolhido pelo design, levou a certas restrições conhecidas ou valores importantes.

aqui estão alguns exemplos:

  1. Devido ao fato de o teleprinter Bell ter usado código de 7 bits (mais tarde aceito como ASCII) até agora, temos que codificar anexos em mensagens eletrônicas para conter apenas dados de 7 bits.
  2. A limitação clássica do espaço de endereço de 32 bits leva ao tamanho máximo de RAM de 4Gb disponível para sistemas de 32 bits e ao tamanho máximo de arquivo de 4Gb no FAT32.

Você conhece outros exemplos interessantes de como a escolha do tipo de dados (e principalmente seu comprimento binário) influenciou o mundo moderno da TI.

Adicionado após alguma discussão nos comentários:

Não vou ensinar como superar limitações. Eu só quero que eles saibam que 1 byte pode conter os valores de -127..0 .. + 127 o 0..255, 2 bytes cobrem o intervalo 0..65535 etc., provando exemplos que eles conhecem de outras fontes, como o codificação base64 mencionada acima etc. Estamos apenas aprendendo os tipos de dados básicos e estou tentando encontrar uma boa referência para "quão grande" esses tipos são.


O objetivo de projetar tecnologia "infinitamente à prova de futuro" não é alcançável. Em vez disso, nos esforçamos para projetar "código revelador de intenção" e "dados autoexplicativos" para que as informações adicionais (intenção e descrição) facilitem a migração de código e dados para seus formatos futuros.
rwong

Isso é absolutamente claro para mim e para os alunos. A idéia básica aqui é se acostumar com o mundo de 8 bits por byte e obter uma visão geral de "quantos dados" uma estrutura de bytes, uma, duas, quatro etc. podem conter.
Alexander Galkin

Minha sugestão é procurar exemplos contemporâneos à idade dos alunos. Ou seja, eles podem não apreciar completamente a situação nas tecnologias antigas, o preço da RAM etc. (a certa altura, um módulo de memória de
64 KB é um gabinete

Se você quiser ensinar como superar as limitações, ensine adições binárias com carry, código de prefixo (necessário para entender as instruções da máquina), Unicode (um exemplo de esquema de codificação) e convide os alunos a projetar um esquema de codificação ad-hoc para Diversão. Toque em um pouco de "informação" e "entropia".
rwong

Talvez eu tenha formulado minha pergunta de maneira um pouco vaga: não vou ensinar como superar limitações. Eu só quero que eles saibam que 1 byte pode conter os valores de -127..0 .. + 127 o 0..255, 2 bytes cobrem o intervalo 0..65535 etc., provando exemplos que eles conhecem de outras fontes, como o codificação base64 mencionada acima etc. Estamos apenas aprendendo os tipos de dados básicos e estou tentando encontrar uma boa referência para "quão grande" esses tipos são.
Alexander Galkin

Respostas:


9

O IPv4 é um exemplo muito bom em que um tamanho de especificação limitado causou um problema muito caro na linha. 4,3 bilhões de endereços simplesmente não são mais suficientes. Agora, os ISPs de todo o mundo estão lançando desesperadamente o IPv6 com um espaço de endereço de 128 bits que se traduz em um endereço para todos os átomos do seu corpo ou algo parecido.


1
Sim - considere o seguinte: se houvesse 1 milhão de endereços alocados a cada picossegundo, levaria 10783127828133.15 anos para consumir todos eles. Existem 2 ^ 128 endereços disponíveis no IPV6. Em um segundo, existem 10 ^ 6/10 ^ -12 endereços alocados (1 x 10 ^ 18). Então (2 ^ 128) / ((10 ^ 6) / (10 ^ -12)) = 340282366920938463463,37 segundos. Supondo que haja 31.556.926 segundos em um ano (de acordo com google.com), isso gera 10783127828133,15 anos. Já que isso é mais antigo que a Terra, devemos ficar bem.
22411 Jack

@Jack o problema Y11T? :)
rightfold

@ Jack: até não estarmos, vamos perder muito endereço devido à segmentação da rede.
Wyatt Barnett

1

O problema do ano 2000 foi semelhante, exceto que as pessoas usaram números decimais em vez de binários e codificaram apenas dois últimos dígitos. Este pode ser um exemplo útil para explicar a alguém que tem pouca experiência com binário.

FAT12 / FAT16 / FAT32 foram adaptados para cobrir cada vez mais o armazenamento.

O TeX tem algumas propriedades interessantes ao representar dimensões (do TeXBook):

TEX representa todas as dimensões internamente como um múltiplo inteiro das pequenas unidades chamadas sp. Como o comprimento de onda da luz visível é de aproximadamente 100 sp, erros de arredondamento de alguns sp não fazem diferença para os olhos. [...]

O TEX não lida com dimensões cujo valor absoluto é 2 ^ 30 sp ou mais. Por outras palavras, a dimensão legal máxima é ligeiramente inferior a 16384 pt. Esta é uma distância de 5.7583 metros, para não prejudicar o seu estilo.

(pt é uma unidade tipográfica aproximadamente igual a 1/72 de polegada)


0

Microsoft Excel - tente representar graficamente mais de 32 mil itens. Tem que haver um campo assinado de 16 bits em algum lugar. (embora eles arredondem o limite para 32000, mesmo por algum motivo).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.