|
|
(не показана 1 промежуточная версия 1 участника) |
Строка 1: |
Строка 1: |
− | <includeonly>{{#ifexpr: {{#len: {{{1|}}} }} < 9 | {{#ifexpr: {{#len: {{{1|}}} }} > 0 | {{ | + | <includeonly>{{#invoke: Convert base | fromDec | {{{1}}} | 16 }}</includeonly><noinclude><!-- Категории и интервики на странице документации -->{{Документация}}</noinclude> |
− | #ifexpr: {{#len: {{{1}}} }} > 0 | {{#vardefine:char1|{{#expr: {{{1}}} mod 16}}}} }}{{
| |
− | #ifexpr: {{#len: {{{1}}} }} > 1 | {{#vardefine:char2|{{#expr: {{{1}}} / 16 mod 16}}}} }}{{
| |
− | #ifexpr: {{#len: {{{1}}} }} > 2 | {{#vardefine:char3|{{#expr: {{{1}}} / 256 mod 16}}}} }}{{
| |
− | #ifexpr: {{#len: {{{1}}} }} > 3 | {{#vardefine:char4|{{#expr: {{{1}}} / 4096 mod 16}}}} }}{{
| |
− | #ifexpr: {{#len: {{{1}}} }} > 4 | {{#vardefine:char5|{{#expr: {{{1}}} / 65536 mod 16}}}} }}{{
| |
− | #ifexpr: {{#len: {{{1}}} }} > 5 | {{#vardefine:char6|{{#expr: {{{1}}} / 1048576 mod 16}}}} }}{{
| |
− | #ifexpr: {{#len: {{{1}}} }} > 6 | {{#vardefine:char7|{{#expr: {{{1}}} / 16777216 mod 16}}}} }}{{
| |
− | #ifeq: {{#len: {{{1}}} }} | 8 | {{#vardefine:char8|{{#expr: {{{1}}} / 268435456 mod 16}}}} }}{{
| |
− | | |
− | #ifexpr: {{#var:char8|0}} > 0 | {{#switch: {{#var:char8}}
| |
− | | 10 = A | 11 = B | 12 = C | 13 = D | 14 = E | 15 = F | {{#var:char8}}
| |
− | }} }}{{#ifexpr: {{#var:char8|0}}{{#var:char7}} > 0 | {{
| |
− | #switch: {{#var:char7}}
| |
− | | 10 = A | 11 = B | 12 = C | 13 = D | 14 = E | 15 = F | {{#var:char7}}
| |
− | }} }}{{#ifexpr: {{#var:char8|0}}{{#var:char7}}{{#var:char6}} > 0 | {{
| |
− | #switch: {{#var:char6}}
| |
− | | 10 = A | 11 = B | 12 = C | 13 = D | 14 = E | 15 = F | {{#var:char6}}
| |
− | }} }}{{#ifexpr: {{#var:char8|0}}{{#var:char7}}{{#var:char6}}{{#var:char5}} > 0 | {{
| |
− | #switch: {{#var:char5}}
| |
− | | 10 = A | 11 = B | 12 = C | 13 = D | 14 = E | 15 = F | {{#var:char5}}
| |
− | }} }}{{#ifexpr: {{#var:char8|0}}{{#var:char7}}{{#var:char6}}{{#var:char5}}{{#var:char4}} > 0 | {{
| |
− | #switch: {{#var:char4}}
| |
− | | 10 = A | 11 = B | 12 = C | 13 = D | 14 = E | 15 = F | {{#var:char4}}
| |
− | }} }}{{#ifexpr: {{#var:char8|0}}{{#var:char7}}{{#var:char6}}{{#var:char5}}{{#var:char4}}{{#var:char3}} > 0 | {{
| |
− | #switch: {{#var:char3}}
| |
− | | 10 = A | 11 = B | 12 = C | 13 = D | 14 = E | 15 = F | {{#var:char3}}
| |
− | }} }}{{#ifexpr: {{#var:char8|0}}{{#var:char7}}{{#var:char6}}{{#var:char5}}{{#var:char4}}{{#var:char3}}{{#var:char2}} > 0 | {{
| |
− | #switch: {{#var:char2}}
| |
− | | 10 = A | 11 = B | 12 = C | 13 = D | 14 = E | 15 = F | {{#var:char2}}
| |
− | }} }}{{
| |
− | #switch: {{#var:char1}}
| |
− | | 10 = A | 11 = B | 12 = C | 13 = D | 14 = E | 15 = F | {{#var:char1}}
| |
− | }} }} | <strong class="error">Слишком длинная строка.</strong> }}</includeonly><noinclude>
| |
− | == Документация ==
| |
− | Это простой инструмент для динамической конвертации десятеричных значений в шестнадцатеричные. На выходе получается шесть шестнадцатеричных разрядов, соответственно на входе может быть число меньше или равное 16777215. В настоящее время система оптимизирована на отсечение передних нулей при получении результата размером в 2,3 или 6 шестнадцатеричных разрядов.
| |
− | === Код ===
| |
− | Полный текст шаблона:
| |
− | <pre>
| |
− | {{Decimal to hexadecimal converter|1234}} | |
− | </pre>
| |
− | Но намного проще пользоваться редиректом:
| |
− | <pre>{{Dec-hex|1234}}
| |
− | </pre>
| |
− | Оба варианта выведут в итог 4D2.
| |
− | [[Category:Технические шаблоны]]</noinclude>
| |