

Lazarus - hexadecimal na Binary
Dobrý den.
Dotaz na ty chytřejší a zkušenější.
Var S : Longint;
Vrací mi to hexadecimal ve tvaru 0xff
Rad bych s toho string v binary tvaru což je 11111111.
http://www.subnetonline.com/pages/converters/hex-t o-bin-to-dec.php
Poradí někdo?
http://www.algoritmy.net/article/80/Prevod-cisla-m ezi-soustavami
V cykle delis celociselne dvomi az kym cislo neni 0, a vypisujes si cifry po jednej v zavislosti na zvysku po deleni (P.S. pozor cifry budu odzadu)
Optimalnejsie je testovat vrchny bit (operacia bitove and s 0x80000000 pre 32bitove cislo) vypisat cifru a potom shift dolava o 1bit
V asm je najoptimalnejsie rotovat do CY a hned testovat CY
Java mi moc nepomůže a sedět u toho s průpiskou je také dost nepohodlné.
Kdyby to tak uměl lazarus sám převést
http://lazarus-ccr.sourceforge.net/docs/rtl/struti ls/inttobin.html
ked v niecom robis, tak mas mat prestudovanu aspon referenciu zakladnych kniznic.
V tom odkazu nešlo o Javu, ale o postup.
Nějaká funkce na to není.
Třeba v PHP to jde
$data_A = base_convert($stavregistru_A, 16, 2);
No omlouvám se.
Prostě nepatřím mezi ty co se narodili s knihou programátora pod paží a ve škole se mně komouší spíš snažili vštěpit do hlavy ruštinu než angličtínu a translator vše jen posere.
Nebudete větří, ale v 65 letech to už do hlavy tak neleze jak za mlada
m :Longint;
P: String;
P := Longint (m);
unit1.pas(46,19) Error: Incompatible types: got "LongInt" expected "AnsiString"
Toto ti dá číslo v m do binárneho tvaru. Ak máš na vstupe hexadecimálny tvar v reťazci, tak to budeš musieť ešte pomocou Hex2Dec previesť na číslo: