Ir para o conteúdo

Código Natural/Notação posicional: mudanças entre as edições

m
→‎Definição: oops e link
(→‎Definição: revi def base N)
m (→‎Definição: oops e link)
Linha 36: Linha 36:
O conjunto dos [[Código natural|códigos naturais de zero a ''k''&nbsp;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:
O conjunto dos [[Código natural|códigos naturais de zero a ''k''&nbsp;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''&nbsp;bits, com <math>u \le k</math> e valores de ''u'' múltiplos de <math>log_2(N)</math>. Os códigos são representados através de números, mapeando-se o conjunto <math>\bigcup P_u</math> no conjunto dos números naturais de ''u'' bits. Esses números estão representados na base N, onde cada dígito consome ''c'' bits, com <math>c=log_2(N)</math>, e a restrição dos múltiplos pode ser expressa como <math>u~\bmod c = 0</math>. É esperado que o código tenha  ''u/c'' dígitos, de modo que, havendo menos, deve-se preencher com zeros à esquerda. <br/>Exemplo. A base&nbsp;4 (''c''=2) 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.<br/>Exemplo.  O código {{baseNh|000000111|2}} tem ''u''=9 e pode ser representado na base 8, que tem ''c''=3. O código é tomado como número e transformado na base 8: [000000111]<sub>2</sub>=[111]<sub>2</sub>=[7]<sub>8</sub>. Em seguida o número precisa ser formatado como código de <math>u/c=9/3=3</math> dígitos, o que resulta na representação de código {{baseNh|007|8}}. <br/>Nota. Não tem uso prático, mas matematicamente o número de zeros pode ser previsto. O número ''v'' de bits do valor numérico ''x'', <math>v=\lceil log_2(x) \rceil</math>, pode ser comparado com  ''u'', indicando que são necessários <math>(u-v)/c</math> zeros a esquerda. No exemplo ''x''=7 e ''v''=3, portanto são necessários <math>(u-v)/c=6/3=2</math> zeros à esquerda de [7]<sub>8</sub>.
* '''Códigos base N''': permite a representação de códigos de ''u''&nbsp;bits, com <math>u \le k</math> e valores de ''u'' múltiplos de <math>log_2(N)</math>. Os códigos são representados através de números, mapeando-se o conjunto <math>\bigcup P_u</math> no conjunto dos números naturais de ''u'' bits. Esses números estão representados na base N, onde cada dígito consome ''c'' bits, com <math>c=log_2(N)</math>, e a restrição dos múltiplos pode ser expressa como <math>u~\bmod c = 0</math>. É esperado que o código na base N tenha  ''u/c'' dígitos, de modo que, havendo menos na representação numérica, deve-se preencher com zeros à esquerda. Formalmente, o preenchimento a função de formatação [https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.padstart ''padstart''()] ([https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart ex.]). <br/>Exemplo. A base&nbsp;4 (''c''=2) 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.<br/>Exemplo.  O código {{baseNh|000000111|2}} tem comprimento ''u''=9 e pode ser representado na base 8, que tem dígitos de ''c''=3 bits. O código é tomado como número e transformado na base 8: [000000111]<sub>2</sub>=[111]<sub>2</sub>=[7]<sub>8</sub>. Em seguida o número precisa ser formatado como código de <math>u/c=9/3=3</math> dígitos, o que resulta na representação de código {{baseNh|007|8}}. <br/>Nota. Não tem uso prático, mas matematicamente o número de zeros pode ser previsto. A quantidade ''v'' de bits do valor numérico ''x'', <math>v=\lceil log_2(x) \rceil</math>, pode ser comparada com  ''u'', indicando que são necessários <math>(u-v)/c</math> zeros a esquerda. No exemplo ''x''=7 e ''v''=3, portanto são necessários <math>(u-v)/c=6/3=2</math> zeros à esquerda de [7]<sub>8</sub>.


* '''Códigos base Nh''':  além de permitir a representação dos elementos de  <math>P_k</math>, permite a dos elementos de <math>X_{k-1}</math>; ou seja, permite a representação de todos os códigos naturais <math>X_k</math>. <br/>A base&nbsp;Nh também preserva a hierarquia do código natural. Na prática <math>N \in \{2,4,8,16\}</math> por não haverem convenções para bases maiores, nem hierarquia fora das potências de dois. Ou seja Nh está limitado às bases 2h, 4h, 8h e 16h.
* '''Códigos base Nh''':  além de permitir a representação dos elementos de  <math>P_k</math>, permite a dos elementos de <math>X_{k-1}</math>; ou seja, permite a representação de todos os códigos naturais <math>X_k</math>. <br/>A base&nbsp;Nh também preserva a hierarquia do código natural. Na prática <math>N \in \{2,4,8,16\}</math> por não haverem convenções para bases maiores, nem hierarquia fora das potências de dois. Ou seja Nh está limitado às bases 2h, 4h, 8h e 16h.
2 402

edições