Unsolved Binary TO Decimal
-
Hallo,
ich versuche über ein LineEdit ein Binärmuster einzulesen und über eine LCDNumber auszugeben.
Allerdings wird mir aus einen binäre Wert 0101 dezimal der Wert 10 ausgeben, was ja bekanntlich Flasch ist. Die Bit Reihenfolge ist gedreht, das niederwertige Bit ist nicht mehr rechts sondern links.Ich weiß nicht wie ich es drehen kann?
void Dialog::on_pushButton_2_clicked() { //ui->lineEdit->setAlignment(Qt::AlignRight); //ui->lineEdit->setLayoutDirection(Qt::RightToLeft); QString bin; double ausgabe = 0; bin = ui->lineEdit->text(); int end = bin.size(); for(int i = 0; i != end; ++i) { QString c = bin[i]; if (c == '1' || c == '0'){ if (c == '1') ausgabe += pow(2, i); } } ui->lcdNumber->display(ausgabe); }
-
Einfach die for-Schleife rückwärts ausführen. Also bei size() - 1 anfangen und auf 0 runter zählen.
Sorry - natürlich dann auch anstatt pow(2, i) pow (2, size() - i - 1)for(int i = 0; i < bin.size(); ++i) { QChar c = bin[i]; if (c == '1') ausgabe += pow(2, bin.size() - i - 1); }
Oder am einfachsten: QString::toInt()
-
-
Ich bedanke mich bei euch und wünsche einen gute Rutsch ins neue Jahr.
-
Ist Kindergarten ein englisches Wort?! :)
Some English words are commonly used in German, esp. on the Internet or in chats / messengers etc.
-
@Pl45m4
Yes, kindergarten is a perfectly English word :)
When I was at school and learned German there was no "Sorry". Nor did Kafka/Goethe ever use it.
Internet chat has a lot to answer for!Frohes Neues Jahr!!
-
Back in Goethe times the German language was a lot different. I would say, comparable to Shakespeare vs. the English, the younger generation speaks nowadays.