По кан шине ловлю данные с авто. собираю свой canbus.
в переменную byte сохраняю данные. далее, необходимо представить их в dec виде, и последние 2 значения записать в переменную уже в hex значении, оставшиеся 2 (перые два) в другую, все значения byte.
вот пример.
byte var1 = 0x5BE это в dec 1470, теперь в одной переменной byte присвоить var2=0xE (это 14 в dec), второй var3=0x46 (это 70 в dec).
толкните куда читать смотреть
Ничего не понял из каши, приведённой в посте, но “толкнуть” могу.
Запомните, никаких dec и hex видов не существует в природе. Это только для удобства чтения человеком. Компьютеру абсолютно фиолетово в каком виде Вы запишете данные - пишите как Вам удобно читать
// Три строки ниже абсолютно эквиваленты.
// переменная n в них получает ровно одно и то же значение
// между ними нет НИКАКОЙ разницы, кроме читабельности человеком
//
n = 321; // десятичное
n = 0x0141; // шестнадцатеричное
n = 0501; // восьмеричное
Вы уверены в написанном?
Я не понял смысла. Все калькуляторы говорят - 1470 (даже на листочке ручкой такой же ответ получился). Разъяснишь?
Ошибка не в вычислениях. В byte
нельзя впихнуть невпихуемое 0x5BE
…
Ааааа, да-да-да…
А я не обратил внимания
я на php в int32 умудрился впихнуть int64, на выходе получилась такая фигня, что понять КАК? невозможно )))
Что КАК?
Непонятно зачем… и непонятное задание …
Ну как понял …
uint16_t t = 0x5be;
void setup () {
Serial.begin(9600);
Serial.println("Start");
Serial.println(t, HEX);
uint8_t z=t%100;
uint8_t x=(t-z)/100;
Serial.print("Первый 0x");
Serial.println(x,HEX);
Serial.print("Второй 0x");
Serial.println(z,HEX);
}
void loop() {
}
Simulation
Start
5BE
Первый 0xE
Второй 0x46
ХЗ а у меня высветилась как новая… Сорри тогда
ESP32 к примеру отдаёт в качестве серийного номера MAC адрес, теперь понятно?
PS функция всегда пригодится
вот @ЕвгенийП к чему приводят ваше нежелание помочь форуму))
одни столбы кругом))
Там вообще то 2 MAC адреса. Второй у блютуса