2010-08-23 2 views
-3

Я хочу, чтобы генерировать эти последовательные данные в C:Как сгенерировать 8-байтовое шестнадцатеричное значение?

data_packet[1] = 0706050403020100 (seed_value) 

Следующая

data_packet[2] = 0f0e0d0c0b0a0908 

Далее будет следующие 8 шестнадцатеричных символов и так далее для скажем, 100 байт. Как мне это сделать? Можем ли мы это сделать с помощью массива символов?

+4

И с неотредактированным «Blockquote» никто не пригласит вас на свои вечеринки. –

+0

'char data [] =" 0706050403020100 ";'? Немного сложно расшифровать то, что вы на самом деле спрашиваете. – nos

+0

no i wan для генерации последовательных данных в этом порядке. – Unicorn

ответ

0

Вы не хотите использовать массив char, так как char может быть подписан или не подписан (реализована реализация). Если вы играете с шестнадцатеричными числами от 0x00 до 0xFF, я настоятельно рекомендую использовать массив unsigned char.

Похоже, что значения в массиве последовательны, от 0 до N. Это указывает на использование цикла for.

Массив фиксированного размера 8 байт. Хммм, еще один хороший кандидат на петлю for.

Жесткая часть вашей задачи - это направление байтов. Например, заполнение массива начинается с позиции 7 или в позиции 0?

Так вот некоторые псевдо-код, чтобы помочь вам вместе:

For each value from 0 to N do: 
begin 
    for array position from 0 to 7 do: // or from 7 to 0 
    put 'value' into the array at 'position'; 
    call function to process the array. 
end 

Для большего удовольствия, изменить функциональность «поместить„значение“», чтобы «поставить случайное значение».

Если вы хотите, чтобы мы действительно писали вашу программу, сообщите нам. Я мог бы использовать дополнительные деньги. :-)

Смежные вопросы