Hỏi ý nghĩa của từng đoạn code 2 hàm VOID và FLOAT_TO_BINARY

#include <iostream>
#include <conio.h>
using namespace std;

 void _(unsigned n)
{
      n>>1 ? _(n>>1) : 0;
      printf("%d",n & 1);
}


void Float_to_Binary(float n) //float to binary
{
    _(*(unsigned *)(void *)&n);
}

int main()
{
    float a;
    cout <<"\nNhap vao so thuc x = ";
    cin >> a;

    cout <<"\nGia tri thap phan tuong uong(32 bit) = \n";
    Float_to_Binary(a);
    cout<<endl;

    system("pause");
return 0;

}

Anh chị nào đã từng nghiên cứu qua có thể giải thích cho em ý nghĩa của từng đoạn code 2 hàm VOID và FLOAT_TO_BINARY với ạ?

1 Like

hàm Float_to_Binary sẽ ép kiểu của float n sang unsigned và truyền vào _
hàm _ sẽ gọi đệ quy để in ra từng bit của số float. n&1 để lấy ra chữ số ở vị trí vừa duyệt tới.
p/s: Ko nên copy code.

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