Múltiplos de bit e byte
Publicado por Talvanes Ferreira de Sousa (última atualização em 04/08/2014)
[ Hits: 4.855 ]
Download BitAndByteMultiples.cs
Este script mostra os múltiplos do bit e do byte em detalhes, tanto como múltiplos decimais redondos (base 1000), quanto em forma de potências de base 2 (base 1024).
/** Baseado nos exemplos do módulo Wgetter escrito por Fernando [Vol: phoemur] http://www.vivaolinux.com.br/perfil/verPerfil.php?login=phoemur Disponível em: https://pypi.python.org/pypi/wgetter/ e https://github.com/phoemur/wgetter */ using System; using System.Collections; using System.Collections.Generic; // classe para números inteiros gigantes (BigDecimal) using System.Numerics; // um artifício para mostrar agrupamento de dígitos (CultureInfo pt-PT) using System.Globalization; Dictionary<ushort, string[]> suffixes = new Dictionary<ushort, string[]>(); suffixes.Add(1000, new string[] {"KB","MB","GB","TB","PB","EB","ZB","YB"}); suffixes.Add(1024, new string[] {"KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"}); // 1º Teste: representando os múltiplos do byte foreach (ushort num_system in suffixes.Keys) { Console.WriteLine("Unidades na base {0}:", num_system); /* "multiplicador" para o sistema adotado: * base 1000 (múltiplos de 10) - usado para classificar discos rígidos * base 1024 (potências de base 2) - classificar memórias semicondutivas (pendrive, unidades flash) */ BigInteger multiplicador = new BigInteger(num_system); BigInteger numSys = new BigInteger(num_system); CultureInfo ptPT = CultureInfo.CreateSpecificCulture("pt-PT"); // multiplicando e representando ... foreach (string unid in suffixes[num_system]) { Console.WriteLine("1 {0}: {1} B = {2} b", // nome do múltiplo digital unid, // represntação em bytes (B) String.Format(ptPT, "{0:00,0}", multiplicador), // represntação em bits (b) String.Format(ptPT, "{0:00,0}", 8 * multiplicador) ); // atualizando "multiplicador" (índice) para iterar a próxima unidade multiplicador = BigInteger.Multiply(multiplicador, numSys); } Console.WriteLine(); }
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Pedagogia no brasil não passa de alfabetização por m4sturbação mental ... (2)
compilação samba 4.22 rock linux 9.5 (3)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (7)