Nastavení příkazů

Aplikace obsahuje řadu ovládacích prvků, ke kterým je možné přiřadit příkazy ve formě řetězce bajtů. Jednotlivé bajty se zapisují v hexadecimálním tvaru. Jeden bajt je tvořen 8 bity. Představuje tedy hodnoty 0 až 255. Pro zápis jednoho bajtu v hexadecimálním tvaru je tedy potřeba dvou znaků.

Pro rychlý převod mezi desítkovou, hexadecimální a binární soustavou lze použít následující tabulku:

DesítkováBinárníHexadecimální
000000
100011
200102
300113
401004
501015
601106
701117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F


Příklady

A) Jak vytvořit příkaz s hodnotu 10?

Podle převodní tabulky je číslo 10 v hexadecimální hodnotě rovno znaku A, protože bajt obsahuje celkem 8 bitů musíme zbytek bitů vyplnit nulami, náš příkaz tedy bude 0A.

B) Jak vytvořit příkaz s hodnotou co není v převodní tabulce? Třeba s hodnotou 439?

Postupným dělením čísla 439 hodnotou 16 dostaneme:
439 / 16 = 27 a zbytek 7
27 / 16 = 1 a zbytek 11
1 / 16 = 0 a zbytek 1

Poté stačí získaná čísla seřadit od konce a převést dle převodní tabulky, dostaneme tak:

1117
1B7

Pokud nám vyšel lichý počet znaků, musíme začátek opět doplnit nulami a dostaneme tak příkaz 01B7.

Pokud se nechcete zdržovat výpočty, můžete např. použít program kalkulačky ve Windows, Linuxu či Androidu, které při přepnutí do rozšířeného módu nabízejí funkce pro převod mezi soustavami.

C) Jak vytvořit příkaz pro odeslání řetězce "Hello World" v kódování ASCII?

Jak jinak než snadno :) Pro převod využijeme ASCII tabulku, pomocí které převedeme jednotlivé znaky na bajty.

K převodu můžete také využít různé online převodníky dostupné na internetu, nebo si můžete stáhnout některý z volně dostupných "hexa editorů".

Po dosazení hodnot z ASCII tabulky dostaneme:

HelloWorld
48656C6C6F20576F726C64

Náš příkaz bude tedy vypadat takto: 48656C6C6F20576F726C64

Pokud chcete využít rozšířenou znakovou sadu např. UTF-8, princip je opět stejný.