Я пишу программу, которая должна принять массив размера п и преобразовать его в это шестнадцатеричное значение следующим образом:массив в шестнадцатеричном представлении
int a[] = { 0, 1, 1, 0 };
Я хотел бы принять каждое значение массива представлять его как двоичный и преобразовать его в шестнадцатеричное значение. В этом случае:
0x6000000000000000; // 0110...0
он также должен быть упакован вправо с 0, чтобы быть 64 бит (я на 64 битной машине).
Или я мог бы также взять элементы массива, преобразовать в десятичную и преобразовать в шестнадцатеричное, это проще ... Что вы лучший способ сделать это на C++?
(это не домашнее задание)
необходимо вычесть из 63 ... сдвиг на 64 определяется реализацией. – Potatoswatter
@Potatoswatter хороший улов, отредактированный. –
Спасибо, это отлично работает. Я должен был сделать тип результата без знака длинным долго и также использовать a [c] для unsigned long long. Благодаря! – gprime