У меня есть регистр счетчика, который состоит из двух 32-разрядных целых без знака, один для более высоких 32 бит значения (наиболее значимое слово), а другой для младших 32 бит значения (наименее значимое слово).
Каков наилучший способ в C объединить эти два 32-разрядных целых числа без знака, а затем отобразить их как большое число?
В частности:
leastSignificantWord = 4294967295; //2^32-1
printf("Counter: %u%u", mostSignificantWord,leastSignificantWord);
Это будет хорошо печататься.
Когда число увеличивается до 4294967296, у меня есть его так, чтобы наименьшее значение SignificantWord стиралось до 0, а mostSignificantWord (0 изначально) теперь равно 1. Теперь весь счетчик должен читать 4294967296, но сейчас он просто читает 10, m просто конкатенация 1 из mostSignificantWord и 0 из минимумSignificantWord.
Как мне отобразить 4294967296 вместо 10?