Преобразование между unsigned long и массивом uint8_t

Вот код, который должен заменить document.write на месте:

document.write=function(s){
    var scripts = document.getElementsByTagName('script');
    var lastScript = scripts[scripts.length-1];
    lastScript.insertAdjacentHTML("beforebegin", s);
}
0
задан snark 29 March 2019 в 12:13
поделиться

1 ответ

в

uint8_t writeBuffer[4] = { 18, 52, 86, 120 };

, если индекс 0 содержит младший байт, просто сделайте, например,

uint8_t writeBuffer[4] = { 18, 52, 86, 120 };
unsigned long v = writeBuffer[0];

for (size_t i = 1; i != 4; ++i)
  v += ((unsigned long) writeBuffer[i]) << (i * 8);

, если индекс 0 содержит только старший байт сделать, например,

uint8_t writeBuffer[4] = { 18, 52, 86, 120 };
unsigned long v = writeBuffer[3];

for (size_t i = 1; i != 4; ++i)
  v += ((unsigned long) writeBuffer[3 - i]) << (i * 8);
0
ответ дан bruno 29 March 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: