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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
#1

Нужно написать программу преобразующую данные в машинный вид - C++

24.03.2013, 10:14. Просмотров 1414. Ответов 29
Метки нет (Все метки)

Нужно написать маленькую программку которая преобразует разные типы данных в машинный код (двоичной системе счисления).....
Тоесть с клавиатуры вводим слово оно преобразуется в вид который воспринимается компьютером, то есть в двоичной системе счисления....
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2013, 10:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно написать программу преобразующую данные в машинный вид (C++):

Нужно написать программу которая считывает данные из текстового файла - C++
Привет всем. Умоляю о помощи с программой. Нужно написать программу которая считывает данные из текстового файла , затем изменяет данные...

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

Не могу дописать программу преобразующую слова в цифры - C++
Здравствуйте форумчане у меня есть к вам вопрос насчет одной программы. Задача: Напишите программу, преобразующую слова "нуль", "два"...

Написать программу, которая запрашивает ваше имя и рост в сантиметрах, а затем отображает информацию в вид - C++
Добрый вечер, помогите пожалуйста с заданием по теме switch, не получается сделать, вместо русского пишет какими то символами, как бы не...

Написать функцию, преобразующую строку символов так, что между словами всегда находится два пробела - C++
помогите с этой лабой

Нужно написать программу на с++ - C++
Помогите пожалуйста написать программу, которая увеличивает дату на заданное количество дней..

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
fjay69
85 / 85 / 1
Регистрация: 26.10.2012
Сообщений: 248
24.03.2013, 12:54 #2
Проще говоря, тебе нужно записать данные в файл?
0
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
24.03.2013, 14:20  [ТС] #3
Нет...мне нужно следующее... вводиш какие либо данные нажимаешь Ентер и на экране появляется в двоичном виде...
0
fjay69
85 / 85 / 1
Регистрация: 26.10.2012
Сообщений: 248
24.03.2013, 14:24 #4
Прям так единицами и нулями?
0
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
24.03.2013, 14:53  [ТС] #5
ага... именно так еденицами и нулями...
0
ya_noob
_
201 / 145 / 9
Регистрация: 08.10.2011
Сообщений: 432
24.03.2013, 16:11 #6
работает для типов данных, у которых можно получить адекватный размер в байтах с помощью sizeof

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
32
33
34
#include <iostream>
using namespace std;
 
void printbyte( unsigned char x )
{
    const int bitsCount = sizeof( unsigned char ) * 8;
    const unsigned char MASK = 1 << ( bitsCount - 1 );
 
    for ( int i = 0; i < bitsCount; ++i, x <<= 1 )
        cout << ( x & MASK ? 1 : 0 );
}
 
template < class T >
void print( T x )
{
    const int bytesCount = sizeof( T );
    unsigned char *p = reinterpret_cast< unsigned char * >( &x );
 
    for ( int i = 0; i < bytesCount; ++i )
    {
        printbyte( p[ i ] );
        cout << " ";
    }
    cout << endl;
}
 
int main()
{
    int a = 5493604;
 
    print( a );
 
    return 0;
}
0
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
24.03.2013, 17:45  [ТС] #7
А для текстовых данных а не числовых такое возможно??если да то как????
0
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
24.03.2013, 18:02 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <bitset>
 
int main()
{
    std::string str;
 
    std::cout << "Enter: ";
    std::getline(std::cin, str);
 
    for (int i = 0; i < str.size(); ++i)
        std::cout << std::bitset<8>(str[i]) << ' ';
    std::cout << std::endl;
 
    system("PAUSE");
    return 0;
}
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
24.03.2013, 18:09 #9
Цитата Сообщение от ya_noob Посмотреть сообщение
C++
1
const int bitsCount = sizeof( unsigned char ) * 8;
Для полноты абстракции можно использовать макрос CHAR_BIT из <climits> вместо магического 8.
1
ya_noob
_
201 / 145 / 9
Регистрация: 08.10.2011
Сообщений: 432
25.03.2013, 06:45 #10
Цитата Сообщение от Cooller51190 Посмотреть сообщение
А для текстовых данных а не числовых такое возможно??если да то как????
ну если можно получить доступ к отдельному символу, то можно ведь в цикле вызывать функцию print для каждого из них
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.03.2013, 07:29 #11
Цитата Сообщение от fjay69 Посмотреть сообщение
Проще говоря, тебе нужно записать данные в файл?
Скорей драйвер клавиатуры.

Добавлено через 7 минут
Цитата Сообщение от Cooller51190 Посмотреть сообщение
Нет...мне нужно следующее... вводиш какие либо данные нажимаешь Ентер и на экране появляется в двоичном виде...
Ну тогда ИМХО так:
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
32
33
34
35
36
37
38
#include <iostream>
void BitShow(char c);
void BitShow(std::string s);
int main()
{
 std::string s;
 std::cout<<"введи строку"<<std::endl;
 std::cin>>s;
 BitSow(s);
 std::cout<<std::endl;
 return 0;
}
void BitShow(char c)
{
 int i;
 char mask;
 for (mask=0x80; mask!=0; mask/=2)
 {
  if ((c&mask)!=0x00)
  {
   std::cout<<"1";
  }
  else
  {
   std::cout<<"0";
  }
 }
}
void BitShow(std::string s)
{
 size_t i;
 size_t L;
 L=s.lenght();
 for (i=0, i<L; ++i)
 {
  BitShow(s[i]);
 }
}
0
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
26.03.2013, 21:27  [ТС] #12
BitSow(s);
Выдаёт ошибку...

Добавлено через 11 минут
в main

Добавлено через 11 минут
первый вопрос решил теперь выдаёт на L=s.lenght();

Добавлено через 2 часа 35 минут
кто подскажет в чём проблема?
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
26.03.2013, 21:33 #13
да у тебя ещё и с английским проблема. Ой как тяжело грамматических ошибок не допускать!
s.length();
0
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
26.03.2013, 21:37  [ТС] #14
так эти ошибки исправил, но почему то всё символы которые вводишь выводят одно и тоже..
.

Добавлено через 1 минуту
Kuzia domovenok спасибо, сам уже увидел.... с компилировал но выдаётся всё одно и тоже
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 22:02 #15
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <cstdlib>
using namespace std;
 
string f(int d_code);
 
int main()
{
 setlocale(0, "");
 
 cout << "введи число: ";
 
 int n;
 cin >> n;
 
 cout << f(n) << endl;
 
 cout << endl;
 system("pause");
 return 0;
}
 
string f(int d_code)
{
    string b_code;
    int b = 0;
    int q = 0;
    
    if (d_code != 0)
    {
        while (true)
        {
            q = d_code / 2;
            if (q == 0) 
            {
                b_code.insert(b_code.begin(), '1');
                break;
            }
            b = d_code % 2;
            if (b == 0) b_code.insert(b_code.begin(), '0');
            if (b == 1) b_code.insert(b_code.begin(), '1');
            d_code = q;
        }
    }
    else b_code.insert(b_code.begin(), '0');
    
    int c = (b_code.size() % 4); 
    if (c != 0)
        for (int i = 0; i < 4 - c; i++)
            b_code.insert(b_code.begin(),'0');
    
    return b_code;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2013, 22:02
Привет! Вот еще темы с ответами:

Нужно написать программу С++ - C++
Зрители подходят к турникету на футбольном стадионе каждые 7+-7 секунд и становятся в очередь, чтобы пройти на стадион. Время прохода...

нужно написать функцию, которая будет считать квадратное уравнение, данные с клавиатуры ввожу - C++
#include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using std::cout; using std::endl; using std::cin; int a, b, c,...

Для экзамена нужно написать программу - C++
Описать структуру с именем ZNAK, содержащую следующие поля: • фамилия, имя; • знак Зодиака; • дата рождения (массив из трех чисел). ...

Нужно написать программу, работающую со структурами - C++
Описать структуру для хранения следующей информации (при необходимости используйте перечисления): данные о животных: • птицы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.03.2013, 22:02
Ответ Создать тему
Опции темы

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