PDA

View Full Version : سوال: ساخت دستکاری کننده جریان



jeson_park
سه شنبه 07 تیر 1390, 19:30 عصر
سلام
به کد زیر نگاه کنید



#include <iostream>
#include <ostream>
#include <iomanip>

//based 22-6 picture in c++ how to program book
using namespace std;



//////////////////////////////////////////////////////////////////////////////////////
ostream &bin(ostream &stream,int &value)
{
const int SHIFT = 8 * sizeof(unsigned) -1;
const unsigned MASK = 1 << SHIFT;

stream << setw(10) << value << " = " ;
for(unsigned i = 1;i<= SHIFT + 1;i++)
{
stream << (value & MASK ? '1' : '0');
value <<= 1;

if( i % 8 ==0 )
stream << ' ' ;
}
return stream;
}
void displayBit(int value)
{
const int SHIFT = 8 * sizeof(unsigned) - 1;
const unsigned MASK = 1 << SHIFT;

cout << setw(10) <<value << " = " ;
for(unsigned i = 1;i<=SHIFT;i++)
{
cout << (value & MASK ? '1' : '0');
value <<= 1;

if(i % 8 == 0)
cout << ' ';
}
cout <<endl;
}
void main()
{
int i = 15;
//displayBit(i);
cout <<bin<< i <<endl;
}


می خوام کد رو طوری تغییر بدم که به صورت زیر در بیاد
cout <<bin<< i <<endl;
مثل دستکاری کننده hex یا oct که پارامتر نمیگیرن
تابعش رو هم نوشتم(displayBit)
دستکاری کننده جریان رو نوشتم(توی این کد نیست) اما اونی کن نوشتم پارامتر میگیره (مثل setw() ) می خوام پارامتر نگیره
آیا باید به صورت کلاس تعریفش کنم؟