我試圖做的任務已經過去了,所以你沒有做我的功課。使用按位來創建二進制數字(C++)
爲了學習,我想知道如何做一些事情。
我能夠製作一個程序,使用按位運算符的掩碼以二進制形式打印1-32。
與我使用的屏蔽的問題是,它也將打印出32個前導零,其次是二進制數字(例如:0000000000000000000000000000000001人數爲1)
這是我有什麼
# include <iostream>
#include <string>
using namespace std;
string naiveBitToChar(int num)
{
string st;
unsigned mask = 0x80000000;
if(num == 0)
{
return "0";
}
while((num & mask))
mask >>= 1;
do
{
if (num & mask)
{
st = st + "1";
}
else
{
st = st + "0";
}
mask >>= 1;
}
while(mask);
return st;
}
int main (int argc, char* argv[]) {
argc; argv;
for(int i = 0; i < 32; i++)
cout << naiveBitToChar(i) << "\n";
system ("pause");
}
我需要:
- 取下串的前導零
- 添加8麻木的最小寬度在每個字符串中(例如。 00000010)
- 添加下劃線每4個號碼後,通過使用一個分隔符掩碼(例如:0000_1000)
我是新的C++,我的老師甚至不看我的代碼,請有人解釋,並嘗試保持基本。謝謝!
我們可能不會做你的功課,但我們正在補充你的學習。你正在使用什麼課本?老師如何期待你完成作業?你如何看待別人完成它?這不是要聰明或讓別人爲你做,這是艱苦的工作。正如我祖母常說的那樣*「辛勤工作從來不容易,總是很難!」*。 – 2013-02-26 17:32:02