Múltiplos de bit e byte
Publicado por Talvanes Ferreira de Sousa (última atualização em 04/08/2014)
[ Hits: 5.025 ]
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();
}
Pedindo uma senha ao usuário!!!
Teoria do Caos - (Equação Logística)
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









