Ir para o conteúdo

Código Natural/Representação interna: mudanças entre as edições

m
(→‎hCount: add funcs)
Linha 20: Linha 20:
O tipo de dado relativo a essa representação foi apelidado como '''"hInt"''' (do inglês '''"hierarchical Integer"'''), com as variantes hInt16, hInt32 e hInt64.  O valor inteiro hInt além de preservar a integridade da cadeia de bits original no seu interior, '''preserva a ordem lexicográfica'''.
O tipo de dado relativo a essa representação foi apelidado como '''"hInt"''' (do inglês '''"hierarchical Integer"'''), com as variantes hInt16, hInt32 e hInt64.  O valor inteiro hInt além de preservar a integridade da cadeia de bits original no seu interior, '''preserva a ordem lexicográfica'''.


Abaixo um exemplo com o conjunto completo de todas as cadeias de até 3 bits (coluna ''bitString''), e a representação de cada uma delas como hInt16 — seu valor em representação decimal na coluna "hInt16_dec" e sua representação interna dentro do inteiro de 16 bits na coluna "internal_16bits".  
Abaixo um exemplo com o conjunto completo de todas as cadeias de até 3 bits (coluna ''bitString''), e a representação de cada uma delas como hInt16 — seu valor em representação decimal na coluna "hInt16_dec" e sua representação interna dentro do inteiro de 16 bits na coluna "hInt16_bin".  


<pre>
<pre>
  bitstring | hInt16_dec| internal_16bits  | value_dec | len_dec  
  bitString | hInt16_dec|     hInt16_bin    | value_dec | len_dec  
-----------+-----------+--------------------+-----------+---------
-----------+-----------+--------------------+-----------+---------
  0        |        1 | 0 00000000000 0001 |        0 |      1
  0        |        1 | 0 00000000000 0001 |        0 |      1
Linha 40: Linha 40:
  111      |    28675 | 0 11100000000 0011 |      1792 |      3
  111      |    28675 | 0 11100000000 0011 |      1792 |      3
</pre>
</pre>
: Nota. A coluna ''hInt16_dec'' é função da coluna ''bitString'', por ex.  <math>dec[hInt16(\texttt{001})]=4099</math>; ''hInt16_bin'' é função de ''hInt16'', por ex.  <math>bin[hInt16(\texttt{001})]=\texttt{0001000000000011}</math>;  ''value_dec'' é função do segundo membro de ''hInt16_bin'', por ex. <math>dec(\texttt{00100000000})=256</math>; ''len_dec'' é função do terceiro membro de ''hInt16_bin'', por ex. <math>dec(\texttt{0011})=3.</math>


A coluna "len_dec" fornece o valor decimal dos 4 bits de ''cache-length'' (facilmente extraído pela operação ''bitwise'' <code>hInt16 & 15</code>), e a coluna "value_dec" o valor decimal dos 11 bits centrais (extraído por <code>hInt16>>4</code>).
A coluna "len_dec" fornece o valor decimal dos 4 bits de ''cache-length'' (facilmente extraído pela operação ''bitwise'' <code>hInt16 & 15</code>), e a coluna "value_dec" o valor decimal dos 11 bits centrais (extraído por <code>hInt16>>4</code>).
Linha 64: Linha 65:


<pre>
<pre>
   bitstring | hInt16  | internal_16bits  | value_dec | len_dec  
   bitString | hInt16  |     hInt16_bin    | value_dec | len_dec  
-------------+----------+--------------------+-----------+---------
-------------+----------+--------------------+-----------+---------
  0          |        1 | 0 00000000000 0001 |        0 |      1
  0          |        1 | 0 00000000000 0001 |        0 |      1
2 402

edições