Итак, изначальная задача:
Отобразить на экране битовый образ каждого байта, введенного с клавиатуры значения типа double.
Моя ошибка: на любое введенное мной число компьютер выдает битовый образ каждого байта, равный 11001100. А это никак не верно((
#include "stdafx.h" #include <iostream> using namespace std; class Tbit { public: double znach; char m[8]; Tbit(double); Tbit(const Tbit&); void bitshow(); }; Tbit::Tbit(double nznach): znach(nznach) {} Tbit::Tbit(const Tbit&R){znach=R.znach;} void Tbit::bitshow(){ cout<<"Number of byte: "<<"Bits:"<<endl; for(int j = 7; j >= 0; j--) { cout<<j<<" "; for(int i = 128; i; i >>= 1) if (i & m[ j ] ) cout<<"1"; else cout<<"0"; cout<<"\n"; } } int _tmain(int argc, _TCHAR* argv[]){ double znach; cout<<"Input double: "<<endl; cin>>znach; Tbit obj(znach); obj.bitshow(); cin.get(); cin.get(); return 0; }
Где ошибка? Заранее очень благодарен=)