Převod čísla v DEC na BIN
Napsal: 22 úno 2018, 13:04
Pracuji na projektu, který mi dává jako výsledek číslo, datový formát long.
Potřebuji tento výsledek převést na binární číslo. Pročetl jsem na toto téma spoustu příspěvků, našel jsem jeden, který se jeví jako použitelný. https://forum.arduino.cc/index.php?topic=95263.0
Pro příklad převádím číslo 1234567890, výsledek jsem si pro jistotu spočítal sám (abych měl jistotu, co vlastně hledám za výsledek), binární hodnota je 1001001100101100000001011010010, tedy 31 znaků.
Uvedený kód mi vrací 00000000000000000000000000000001001001100101100000001011010010. Barevně oddělená část je požadovaný výsledek.
Jako odfiltrovat úvodní nuly, respektive vypíchnout samotné výsledné číslo (může začínat nulou, takže nejde jen o znak "nula")?
Potřebuji tento výsledek převést na binární číslo. Pročetl jsem na toto téma spoustu příspěvků, našel jsem jeden, který se jeví jako použitelný. https://forum.arduino.cc/index.php?topic=95263.0
Kód: Vybrat vše
void setup()
{
Serial.begin(9600);
}
void loop()
{
long myNum = 1234567890;
long zeros = String(myNum,BIN).length();
String myStr;
for (int i=0; i<zeros; i++) {
myStr = myStr + "0";
}
myStr = myStr + String(myNum,BIN);
Serial.println(myStr); //
delay(1000);
}
Uvedený kód mi vrací 00000000000000000000000000000001001001100101100000001011010010. Barevně oddělená část je požadovaný výsledek.
Jako odfiltrovat úvodní nuly, respektive vypíchnout samotné výsledné číslo (může začínat nulou, takže nejde jen o znak "nula")?