Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Перевод бинарного номера в 32/8 бит код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнение двумерного массива случайными числами, его построчная сортировка http://www.cyberforum.ru/cpp-beginners/thread667963.html
Написать функцию который принимает двумерный масив заполненый случайными цифрами и сортирует его по строчьно.
C++ Отсортируйте структуру #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #include <algorithm> #define N 6 typedef struct Train { char pszDest; http://www.cyberforum.ru/cpp-beginners/thread667928.html
Ветвление C++
здравствуйте. помогите написать программу(с помощью Mультиветвления), выводящую на экран строку “switch” при вводе числа 1, строку “конструкции switch” – при вводе числа 2, “пример конструкции...
Вычисление значения функции C++
Доброго времени суток. Дано условие. Надо вычислить значение функции Если x<0 или x>10, то z=x, в противном случае (есть картинка). Заранее благодарю за помощь...
C++ В матрице поменять местами в каждом столбце минимальный и максимальный элементы http://www.cyberforum.ru/cpp-beginners/thread667852.html
Не получается написать программу. В произвольной матрице поменять местами в каждом столбце минимальный и максимальный элементы. Помогите пожалуйста!
C++ Вычисление суммы ряда, перевести код с Pascal Вычисление суммы ряда оформить в виде процедуры с параметром (в качестве параметра использовать количество слагаемых m). Проверить правильность вычисления. Значения слева и справа должны быть... подробнее

Показать сообщение отдельно
ummahusla
1 / 1 / 0
Регистрация: 19.06.2012
Сообщений: 46

Перевод бинарного номера в 32/8 бит код - C++

10.10.2012, 15:23. Просмотров 1157. Ответов 6
Метки (Все метки)

Нужно написать программу, которая будет неоднократно запрашивать целое число и будет отображать его в двоично числе в 32 битном коде. Прога будет заканчиватся, когда будет введённо 9999.

Пример:
Enter integer: 16
00000000000000000000000000010000
Enter integer: -1
11111111111111111111111111111111
Enter integer: 9999


На этом этапе у меня получился код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
 
int dec;
 
while (dec!=9999)
{
 
 
char bin32[] = "00000000000000000000000000000000";
for (int pos = 31; pos >= 0; --pos)
{
if (dec % 2) 
bin32[pos] = '1';
dec /= 2;
}
 
cout << "The binary of the given number is: " << bin32 << endl;
 
cout << "Enter the decimal to be converted: ";
cin >> dec;
 
}
 
 
 
}

Этот код работает только на простые числа, на негативные числа я не понимаю как написать..
Далее я не понимаю, и прошу вашей помощи в следующем:

Всё относится к тому же заданию, что и выше:

Мне нужно использовать один из операторов сдвига (<< или >>) и побитные AND и & (не &&). Если честно дальше задание, я не особо понимаю, но как я понимаю, основная идея заключается в том чтобы поработать с AND и маской. И как написать алгоритм из 32битного кода в 8бит

пример:

Number 01110010
Mask 10000000
AND'ed = 00000000

Далее, если результат ANDинговых данных с маской не являается нуль - принтить "1", else "0". Теперь можно переложить маску на один бит вправо (>>) и повторить AND

пример
number 01110010
mask 01000000
AND'ed = 01000000


Очень вас прошу, помогите разобратся, ибо только взялся за обучения этого языка программирования и поэтому много вопросов. Очень надеюсь что вы поможете с этой задачкой и если, вдруг вы знаете, толковые книги по C++ для начинающих.

Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru