2 402
edições
(split baseN and baseNh) |
(separando a intro da definicao) |
||
Linha 1: | Linha 1: | ||
[[Arquivo:Code-PositionalNotation-Terms.png|miniaturadaimagem|300px|Termos utilizados na notação posicional de códigos. Em texto: {{baseNh|0125|8h}} ou [0125]<sub>8h</sub>.]] | [[Arquivo:Code-PositionalNotation-Terms.png|miniaturadaimagem|300px|Termos utilizados na notação posicional de códigos. Em texto: {{baseNh|0125|8h}} ou [0125]<sub>8h</sub>.]] | ||
<!-- | |||
Os [[Código natural|códigos naturais]] formam um conjunto munido de hierarquia e de uma ordem compatível com a sua hierarquia. Seus elementos podem ser representados por [[Cadeia de bits|cadeias de bits]], e, vice-versa, toda cadeia de bit pode ser associada a um código. | |||
A '''notação posicional em base-Nh''' para a representação compacta de [[código natural|códigos naturais]] é um modo de representação, adaptado das convenções da [[wikipedia:Positional notation|notação posicional numérica]]. Por exemplo o código {{baseNh|0125|8h}} não deve ser confundido com o número 125 decimal: a base não é 10 e por ter sufixo "h", ''8h'', deve ser interpretado como código, com seus zeros a esquerda. | A '''notação posicional em base-Nh''' para a representação compacta de [[código natural|códigos naturais]] é um modo de representação, adaptado das convenções da [[wikipedia:Positional notation|notação posicional numérica]]. Por exemplo o código {{baseNh|0125|8h}} não deve ser confundido com o número 125 decimal: a base não é 10 e por ter sufixo "h", ''8h'', deve ser interpretado como código, com seus zeros a esquerda. | ||
Linha 8: | Linha 9: | ||
Para não confundir o "agente 7" com o "agente 007" destacamos {{baseNh|007|10rh}}. O sufixo "rh" na base significa “''r''estricted ''h''iearchy”, pois ao permitir zeros a esquerda está permitindo também a expressão de hierarquias, porém, restrita por não comportar todos os códigos naturais na base 10 (de fato não existe base 10''h'' somente 10''rh''). | Para não confundir o "agente 7" com o "agente 007" destacamos {{baseNh|007|10rh}}. O sufixo "rh" na base significa “''r''estricted ''h''iearchy”, pois ao permitir zeros a esquerda está permitindo também a expressão de hierarquias, porém, restrita por não comportar todos os códigos naturais na base 10 (de fato não existe base 10''h'' somente 10''rh''). | ||
--> | --> | ||
[[Cadeia de bits|Cadeias de bits]] são a forma mais simples para se registrar números ou códigos, mas para o ser humano elas são muito longas e difíceis de ler. No caso dos números | [[Cadeia de bits|Cadeias de bits]] são a forma mais simples para se registrar números ou códigos naturais, mas para o ser humano elas são muito longas e difíceis de ler. No caso dos números existe a [[wikipedia:Positional notation|notação posicional em base ''N'']], mais compacta que a representação binária para qualquer ''N''>2. | ||
A notação numérica pode ser facilmente adaptada para expressar códigos naturais. Exemplos: | |||
{| class="wikitable" | |||
|'''Notação / Característica''' | |||
|'''Código''' | |||
|'''Número''' | |||
|'''Código''' | |||
|'''Número''' | |||
|- | |||
|[[wikipedia:Binary number|Base 2. Binária]] / Ilegível ||<code>00010010</code>||10010 || <code>1111</code> || 1111 | |||
|- | |||
|[[wikipedia:Quaternary numeral system|Base 4. Quaternaria]] / Melhorou! ||<code>0102</code>||102 || <code>33</code> || 33 | |||
|- | |||
|[[wikipedia:Hexadecimal|Base 16. Hexadecimal]] / Mais compacta ||<code>12</code>||12 || <code>f</code> || f | |||
|} | |||
Alguns cuidados devem ser tomados, por exemplo no tratamento dos zeros a esquerda, importante diferenciador de códigos. | |||
E existem ainda códigos que não podem ser representados em certas bases. Por exemplo o código <code>010</code> a rigor não pode ser representado na base 4. Uma representação alternativa, base 4h, permite e é definida a seguir. | |||
== Definição == | |||
O conjunto <math>P_k</math> dos números naturais de ''k'' bits, por exemplo, pode ter seus elementos representados pela base 3, base 4, ..., até base ''N'', com <math>N \le 2^k</math>. | |||
O conjunto dos [[Código natural|códigos naturais de zero a ''k'' bits]], <math>X_k = P_k \cup X_{k-1}</math>, pode também ser representado de maneira compacta, através de uma adaptação da notação numérica, nas seguintes situações: | O conjunto dos [[Código natural|códigos naturais de zero a ''k'' bits]], <math>X_k = P_k \cup X_{k-1}</math>, pode também ser representado de maneira compacta, através de uma adaptação da notação posicional numérica, nas seguintes situações: | ||
* '''Códigos base N''': permite a representação de códigos de ''u'' bits, com <math>u \le k</math> e valores de ''u'' múltiplos de <math>log_{N}(2)</math>; mapeados no conjunto <math>\bigcup P_u</math> de números de ''u'' bits. A conversão numérica deve ser acrescida de zeros a esquerda (até atingir o tamanho fixo compatível com o tamanho ''u'' da origem). <br/>A restrição dos múltiplos pode ser expressa como <math>u~\bmod log_{2}(N) = 0</math>. <br/>Por exemplo base 4 permite valores de ''u'' restritos por <math>u~\bmod~2 = 0</math>, portanto permite representar o conjunto de códigos com ''u'' par: <math>P_0 \cup P_2 \cup P_4 \cup \dots \cup P_k</math>. Quanto à notação textual, nesta Wiki distinguimos o código {{baseNh|007|8}}≠{{baseNh|7|8}} do número [007]<sub>8</sub>=[7]<sub>8</sub> pelo uso da <code>fonte</code> e dos colchetes. | * '''Códigos base N''': permite a representação de códigos de ''u'' bits, com <math>u \le k</math> e valores de ''u'' múltiplos de <math>log_{N}(2)</math>; mapeados no conjunto <math>\bigcup P_u</math> de números de ''u'' bits. A conversão numérica deve ser acrescida de zeros a esquerda (até atingir o tamanho fixo compatível com o tamanho ''u'' da origem). <br/>A restrição dos múltiplos pode ser expressa como <math>u~\bmod log_{2}(N) = 0</math>. <br/>Por exemplo base 4 permite valores de ''u'' restritos por <math>u~\bmod~2 = 0</math>, portanto permite representar o conjunto de códigos com ''u'' par: <math>P_0 \cup P_2 \cup P_4 \cup \dots \cup P_k</math>. Quanto à notação textual, nesta Wiki distinguimos o código {{baseNh|007|8}}≠{{baseNh|7|8}} do número [007]<sub>8</sub>=[7]<sub>8</sub> pelo uso da <code>fonte</code> e dos colchetes. |
edições