Здравствуйте,
В процессе программирования у меня возникла проблема.
Кодирование происходит по алгоритму (взято с википедии):
Код:
function BinToGray(b: integer): integer;
begin
BinToGray := b xor (b shr 1)
end;
При вводе числа например 10110 программа выведет 13505, что не верно, ведь результат должен быть бинарным.
Ошибка конечно очевидна. Но я совсем не представляю как это организовать.
Xor адекватно работает с числами в 16-ричном представлении (если я не напутал), т.е. числа с $. Но опять же как перевести псевдо-бинарное число в шестнадцатиричную запись, а потом наоборот?