Nhờ mọi người giải thích giúp giải thuật

Đây là bài nhập vào 1 số thập phân in ra day nhị phân.nhưng mình chưa hiểu thuật toán lắm .ai có thể giải thích giùm k .cảm ơn

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;

int main()
{
    int i,S;
    char Q[31];
    cout << "Nhap xau nhi phan: ";
   fflush(stdin);
    cin >> Q;
    S=0;
    for (i=0;i<strlen(Q);i++)
	S= S*2 + (Q[i]-48);
    cout << "Gia tri cua xau nhi phan " << Q << "la: " << S << "\n";
    return 0;
}

Cái này là nhập dãy nhị phân in ra số thập phân mà?

uh sr mình quên mất tại mấy ngày k động đến

“Rơi đầu, nhân ngang, cộng chéo”.

bạn giải thích rõ hơn đc k ?

? :neutral_face: ? Cái này chắc thầy của thím hoặc sách của thím dạy thôi :))

Sơ đồ Horner đó :smiley:

Còn bài này hiểu đơn giản là: bây giờ số 3 thêm 0 phía sau thành 30 tức là x10, cộng 6 là 36. Cái này cũng vậy thôi :slight_smile: Sơ đồ Horner cũng có thể hiểu như vậy.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?