2013-05-11 2 views
-1

Как присвоить значение uint32_t key[4]Как присвоить значение uint32_t клавиши [4]

Я изначально имею этот uint32_t iv[2] = {0xFFFFFFDD};

Тогда в моей 2-ой перспективе .. Мне нужно присвоить новое значение .. позволяет предположим, что новое значение

10273348653513887325 (decimal) but recorded as string for now. 

string value = "10273348653513887325"; 

Но я хочу изменить значение iv из 0xFFFFFFDD (шестнадцатеричное) до 10273348653513887325 (десятичное)

Как мне это сделать?

+0

Что вы имеете в виду? вы хотите преобразовать эту строку в int? – mwerschy

+0

Чтобы сохранить в 'uint32_t [4]', вам нужно сначала создать 'uint32_t [4]'. Если я неправильно понимаю ваш вопрос, у вас есть только 'uint32_t [2]'. – hvd

+0

Вы изначально указываете: «Как назначить значение ключу uint32_t [4] Первоначально у меня это есть Как назначить значение uint32_t iv [2] = {0xFFFFFFDD};" но затем он был изменен для исправления форматирования. Из-за своей двусмысленности редактор, возможно, получил неправильный характер. В любом случае вопрос все еще немного расплывчатый. Не могли бы вы прояснить вопрос больше? – Adrian

ответ

0

У вас нет. 10273348653513887325 как десятичное значение не будет вписываться в uint32_t. Можно делать вид, что IV является 64 битное значение, таким образом:

uint64_t* piv = (uint64_t*)&iv[0]; 
*piv = decValue; // where dec value is the decimal conversion of the string 

, но после того, как вы сделали это, то, что вы действительно будете иметь два 32 битных значений, каждая из которых часть стоимости, которую вы пытаетесь хранить. Просто потому, что это не так уж и неудобно, вступает в игру конечная цель используемой архитектуры. Так что не делай этого.

Другой альтернативой является использование анонимного объединения из 2 32-битных значений и одного 64-битного значения.

Это может заслуживать отметить, что задания

uint32_t iv[2] = {0xFFFFFFDD }; 

результаты первого элемента IV, имеющих это значение, а второй, содержащий 0. Это то, что вы имели в виду?

Как указано в @hvd, есть некоторая ясность в отношении того, чего вы пытаетесь достичь.

+2

Назначение не приведет к тому, что каждый элемент имеет это значение. Он устанавливает iv [0] = 0xffffffdd и iv [1] = 0. – typ1232

+0

, так оно и есть, мое плохое, будет редактировать, чтобы отразить это. Спасибо что подметил это –

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