2 402
edições
(→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 " | 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| 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 | hInt16_bin | value_dec | len_dec | |||
-------------+----------+--------------------+-----------+--------- | -------------+----------+--------------------+-----------+--------- | ||
0 | 1 | 0 00000000000 0001 | 0 | 1 | 0 | 1 | 0 00000000000 0001 | 0 | 1 |
edições