01/10/2018, 01:13

Chuyển đổi số thực sang số nhị phân?

có bác nào biết đổi phần thập phân của 1 số thực sang nhị phân k nhỉ

rogp10 viết 03:14 ngày 01/10/2018

Số thực mà
Bài này bạn reinterpret_cast ra int thôi.

Whois viết 03:22 ngày 01/10/2018

day la code cua minh nhung hinh nhu sai , ai giup voi

#include <iostream>
using namespace std;

int main() {
    int a[100] , b[100], i=0 ,j=0, nguyen, temp1 ;
    float f , thapphan , gioihan=1, temp2 ;
    cout<<"nhap so thuc : "<<endl;
	cin>>f;
	thapphan=f-(int)f;
	nguyen=(int)f;
	while (nguyen > 0)
	{
		a[i]=nguyen%2;
		temp1=nguyen/2;
		i=i+1;
	}
	while(gioihan>0.0000001)
    {
    	temp2=thapphan*2;
    	if(thapphan>1)
    	{
        b[j]=1;
        temp2=thapphan-1;
    	}
        else if(thapphan<1)
        {
        b[j]=0;
        temp2=1-thapphan;
        }
        else if(thapphan=1)
        {
        	b[j]=1;
        	break;
        }
        j++;
        gioihan=gioihan/10;
    }
    for(i=i-1; i=0;  i--)
    cout<<a[i];
    for(j=j-1; j=0; j--) 
    cout<<b[j];
    
}
Whois viết 03:21 ngày 01/10/2018

số thực như kiểu 3,14 ấy bác ơi

Whois viết 03:26 ngày 01/10/2018

là như thế nào thế bác

rogp10 viết 03:15 ngày 01/10/2018

Tất nhiên là bạn phải chắc float với double là theo kiểu IEEE thì mới reinterpret được, với lại nếu đúng là IEEE mà số đó là NaN với infinity là móm. Nhiều trường hợp lắm.

Giiờ bạn cho input/output (test case đó) xem chứ nói vầy khó soi lắm.

Bài liên quan
0