VC的小问题,请各位大侠帮忙 计算次方的问题,比如说我们知道28是2的4次方+2的3次方+2的2次方,如何通过一个函数分解数字,返回次方数,比如上例,我输入28,只要调用某个函数,可以返回4,3,2。返回的形式可以任意。可以一次返回,或者返回为一个数组都可以。或者不知道API有没有封装好的,有的话大侠们给我个给函数名。万分感谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #include <bitset> std::bitset<128> bi(28); for (int i = 0; i < 128; ++i) { if (bi.test(i)) { //! 值为真表示这一位为1,那就是这一位为2的某个次方 [4月/22日/2010年] //! 比如现在bi的值应该是(0,0,1,1,1,0,....) cout<<"值为真\n"; } }这个只能计算2的次方,其他的还得另写算法 int main(){int num,i=0; printf("请输入一个整数"); scanf("%d",&num); while(num) { if(num&0x1) printf("%d",i); //从小到大输出 num>>=1; i++; }} 应用程序调用DLL封装对话框问题 急!波特率的单位跟赫兹的转换 ¥¥¥¥¥传输中音频和视频交错的问题???期待高手........¥¥¥¥ 在我的DLL中调用DestroyWindow来结束其他的程序的HWND总是失败 显示画图的问题 关于按钮换肤中的问题! 关于在单独的头文件中定义了结构数据,如何在对话框类中访问? 急求, 谁有再次封装的 LOG4CPP 我的softice无法工作!!!? VC MFC 不同账号登陆显示不同的内容 如果购买vc或者c++builder等开发的即时通讯开发套件大概需要多少钱(含源码)? 用ASProtect加壳过的程序不能捕获异常
for (int i = 0; i < 128; ++i)
{
if (bi.test(i))
{
//! 值为真表示这一位为1,那就是这一位为2的某个次方 [4月/22日/2010年]
//! 比如现在bi的值应该是(0,0,1,1,1,0,....)
cout<<"值为真\n";
}
}
这个只能计算2的次方,其他的还得另写算法
{int num,i=0;
printf("请输入一个整数");
scanf("%d",&num);
while(num)
{
if(num&0x1) printf("%d",i); //从小到大输出
num>>=1;
i++;
}
}