Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79

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

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

Студворк — интернет-сервис помощи студентам
Нужно написать маленькую программку которая преобразует разные типы данных в машинный код (двоичной системе счисления).....
Тоесть с клавиатуры вводим слово оно преобразуется в вид который воспринимается компьютером, то есть в двоичной системе счисления....
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2013, 10:14
Ответы с готовыми решениями:

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

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

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

29
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2013, 13:30
Студворк — интернет-сервис помощи студентам
Там только не хватает: #include <string> и преобразование из int, но перевести строку в int не проблема.

Добавлено через 5 минут
У меня, вообщем-то, классический перевод числа из десятичной в двоичную. Только для красоты вывода, сделано выравнивание по байту. Т.е., если ввести 1, то выдаст: 0001. Может преподаватель это не понял? Но это и убрать можно.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2013, 13:36
Для проверки в работе, немного меняем код:
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
54
55
56
57
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
 
string f(int d_code);
 
int main()
{
 setlocale(0, "");
 
 /*cout << "введи число: ";
 
 int n;
 cin >> n;*/
 int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 
 
 for (int i = 0; i < 10; ++i)
    cout << f(arr[i]) << 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
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2013, 13:42
А чтобы из строки:
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
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <cstdlib>
#include <string>
#include <sstream>
using namespace std;
 
string f(int d_code);
 
int main()
{
 setlocale(0, "");
 
 /*cout << "введи число: ";
 
 int n;
 cin >> n;*/
 string arr[10] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
 
 stringstream s;
 int n;
 for (int i = 0; i < 10; ++i)
 {
    s << arr[i]; // туда строка
    s >> n;     // оттуда число
    s.clear();
    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
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2013, 13:52
Вы программу, про которую преподаватель сказал, что правильная, проверяли в работе? У меня она, почему-то, это выдаёт. И что здесь правильного?
Миниатюры
Нужно написать программу преобразующую данные в машинный вид  
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2013, 13:56
У меня - совсем другое дело.
Миниатюры
Нужно написать программу преобразующую данные в машинный вид  
0
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79
08.04.2013, 14:18  [ТС]
Естественно проверял видел что такое выдаёт...попробую, ещё раз послать и объеснить что она выдаёт...Может прокатит...
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2013, 14:23
Цитата Сообщение от Cooller51190 Посмотреть сообщение
Естественно проверял видел что такое выдаёт
Что-то я тему не пойму... И это, по вашему, правильное преобразование? 255, в двоичном виде, именно так и выглядит?
1
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79
08.04.2013, 14:31  [ТС]
А bitset то объесните что вообще делает???

Добавлено через 5 минут
alsav22 спасибо за помощь
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2013, 14:46
Цитата Сообщение от Cooller51190 Посмотреть сообщение
А bitset то объесните что вообще делает???
В данном коде, выводит коды символов в двоичном виде. Т.е., если ввели 255, то выведет код символа '2' (50), код символа '5' (53), и код символв '5' (53) в двоичном виде.
1
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79
15.04.2013, 16:59  [ТС]
Короче говоря такой расклад получается... Оказывается препода не интересует просто перевод в двоичный вид. Ему нужно следующее: "Ваша задача показать (!!!) внутреннее двоичное представление этого типа данных, используя операции сдвига(<<,>>) и поразрядные логические операции (&,|,~,^)." Сможете помочь с таким вот видом задания?

Добавлено через 9 часов 19 минут
ауууу помогите...

Добавлено через 11 часов 49 минут
подскажите хоть как это примерно сделать?

Добавлено через 7 часов 59 минут
Pascal
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
Program LAB1;
uses crt;
{==== Процедура распечатки байта в двоичном виде ====}
Procedure WriteByte(a : byte);
var i : integer;
begin
for i:=7 downto 0 do begin
{ Сдвиг на i бит вправо и выделение младшего бита }
if ((a shr i) and $01) <>0 then write('1')
else write('0');
end;
write(' ');
end;
{==== Главная процедура ====}
type bytearr = array[1..100] of byte;
type intptr = ^integer;
var
k,i : integer; { Счетчик бит}
{ Анализируемые переменные }
int : integer; { целое }
str : string[10]; { строка }
pint : intptr; { указатель на integer }
ipt : ^intptr; { указатель на указатель на integer }
px : pointer; { Промежуточный безтипный указатель }
bp : ^bytearr; { Указатель на массив байт }
{ массив целых для проверки изменения адресов }
iarr : array[1..5] of integer;
 
begin
{ Анализ типа integer }
int:=518; { Присвоение значения }
bp:=@int; { Получение указателя }
{ Побайтная распечатка }
writeln('Целое число');
for k:=1 to 2 do writebyte(bp^[k]);
writeln;
 
{ Анализ типа string }
str:='ABCD'; { Присвоение значения }
px:=Addr(str); { Получение указателя }
bp:=px; { Преобразование типа указателей }
{ Побайтная распечатка }
writeln('Строка символов');
for k:=1 to 11 do writebyte(bp^[k]);
writeln;
 
end.
Нашел что-то подобное на паскале... Вот незнаю как её в С++ перевести...
Прав я в данном решение или нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.04.2013, 16:59

Написать программу, преобразующую в слове строчные буквы в прописные
Написать программу, преобразующую в слове строчные буквы в прописные. Слово ввести с клавиатуры.

Написать программу - сценарий, преобразующую массив чисел из десятичной системы счисления в двоичную
Помогите, пожалуйста, плохо разбираюсь в Matlab:( 2. Написать программу - сценарий, преобразующую массив чисел из десятичной системы...

Нужно написать программу которая сохраняет данные dat.file
Нужно написать программу которая сохраняет данные dat.file Почему не создает &quot;dat.file&quot;! где ошибка? есть идеи? ...

Написать программу, преобразующую файл АВС.ТХТ в файл INV.TXT
Написать программу, преобразующую файл АВС.ТХТ в файл INV.TXT. Причем первой строкой INV.TXT является последняя строка АВС.ТХТ, второй —...

Написать программу, преобразующую XML-файлы в DDF-файлы
Нужно написать программу, преобразующую XMLфайлы в DDFфайлы... Посоветуйте с чего начать? Есть ли готовый код..


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru