mọi người xem giúp em code này, code này là chuyển đổi số thực sang mã nhị phân.
#include <iostream>
using namespace std;
void nhiphan(unsigned n)
{
n >> 1 ? nhiphan(n >> 1) : 0;
cout << (n & 1);
}
void nhiphan(float n)
{
nhiphan(*(unsigned *)(void*)&n);
}
int main()
{
nhiphan(3.9f);
system("pause");
return 0;
}
cho em hỏi là *(unsigned *)(void *) &n nghĩa là gì ạ???
với lại n >> 1 theo em biết là phép dịch chuyển bit sang phải, nghĩa là chia cho 2 ^ 1, vậy khi nào thì nó nhận giá trị âm ạ…Mong mọi người giúp em… Em cảm ơn ạ…
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?