Задача, которую я попытался сделать, прошла через установленный срок, поэтому вы не выполняете мою домашнюю работу.Использование Побитового для создания двоичных чисел (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-го числа, используя Seperator маску (напр. 0000_1000)
Я новичок в C++, мой учитель не будет даже смотреть на мой код, пожалуйста, кто-нибудь объяснить, и попытайтесь чтобы он был основным. Спасибо!
Возможно, мы не выполним домашнее задание, но мы дополняем ваше исследование. Какой учебник вы используете? Как учитель ожидал, что вы выполните задание? Как вы думаете, кто это сделал? Это не связано с умением или заставить других делать это за вас, это тяжелая работа. Как говорила моя бабушка * «Тяжелая работа никогда не бывает легкой, всегда трудно!» *. –