С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 38

Перевод из десятичной системы счисления

14.02.2022, 01:14. Показов 507. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Переведите пожалуйста с СИ на С++. Я пробовал , но у меня проблемы с функциями. На СИ все четко идет.
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
#include <stdio.h>
#include <math.h>
#include <locale.h>
long bin_to_dec(char *s)
{
short i;
long res = 0;
 
for (i = 0; i < sizeof(long) * 8 && s[i]; ++i)
{
res <<= 1;
res |= (s[i] - '0');
}
return res;
}
 
 
void DecToBin(int n)
{
if (n >= 2)
{
DecToBin(n / 2);
}
printf("%d", n % 2);
}
int main(void) {
int a, c, x, y;
setlocale(LC_ALL, "rus");
char b;
printf("Укажите число в десятичной системе счисления: ");
scanf_s("%d", &a);
printf("Его запись: \n");
printf("В 16-й : %x\n", a);
 
printf("В двоичной \n");
DecToBin(a);
printf("\n");
 
for ( int i = 0; i <=256; i++)
{
printf("Его запись: \n");
printf("В 16-й : %x\n", i);
 
printf("В двоичной \n");
DecToBin(i);
printf("\n");
}
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.02.2022, 01:14
Ответы с готовыми решениями:

Переведите пожалуйста с СИ на С++. Я пробовал , но у меня проблемы с функциями. На СИ все четко идет
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;locale.h&gt; long bin_to_dec(char *s) { short i; long res = 0; for (i = 0;...

Не могу понять почему у меня не кешируется страница ? Пробовал все варианты, ничего не вышло
header(&quot;Cache-Control: public&quot;); header(&quot;Expires: &quot; . date(&quot;r&quot;, time() + 3600)); echo &quot;&lt;h1&gt;&quot;, date(&quot;H:i:s&quot;), &quot;&lt;/h1&gt;&quot;; С max-age...


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

Или воспользуйтесь поиском по форуму:
3
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1820
Регистрация: 18.10.2014
Сообщений: 17,205
14.02.2022, 01:30
Цитата Сообщение от Nolic12 Посмотреть сообщение
На СИ все четко идет
Не понял. Если "На СИ все четко идет", то и на С++ все "четко пойдет". Этот код не надо "переводить на С++" - он и так уже на С++.

Цитата Сообщение от Nolic12 Посмотреть сообщение
Я пробовал , но у меня проблемы с функциями.
Так а где же результаты ваших попыток? Что такое "проблемы с функциями"
0
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 38
17.02.2022, 20:25  [ТС]
Уже все решил, вот код если кому то нужен будет
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
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <iomanip>
#include <cmath>
 
using namespace std;
 
// функция переводящая десят. число nn в двоичное представление с N разрядами
void DecToBin(int* Bin, int N, int nn)
{
    int r;
    for (int i = 0; i < N; i++)
    {
        r = nn % 2;
        nn = nn / 2;
        Bin[i] = r;
    }
 
}
// функция переводящая десят. число nn в шестнадцатиричное представление с N разрядами
void DecToHex(int* Hex, int N, int nn)
{
    int r;
    for (int i = 0; i < N; i++)
    {
        r = nn % 16;
        nn = nn / 16;
        Hex[i] = r;
    }
}
 
int main()
{
    const int Ns = 8;
    int bin[Ns];// массив который хранит двоичное представление десят. числа
    int hex[Ns/4];// массив который хранит шестнадцатиричное представление десят. числа
 
    for (int n = 0; n < pow(2, Ns); n++)
    {
        // текущее десятичное число
        cout << n << "\t";
        // текущее  число в двоичном представлении
        DecToBin(bin, Ns, n);
        // вывод его в терминал
        for (int i = Ns-1; i > -1; i--)
            cout << bin[i];
        cout << "\t";
        // текущее  число в шестнадцатиричном представлении
        DecToHex(hex, Ns/4, n);
        // вывод его в терминал
        for (int i = Ns/4-1; i > -1; i--)
        {
            switch (hex[i])
            {
                case 0: cout << '0'; break;
                case 1: cout << '1'; break;
                case 2: cout << '2'; break;
                case 3: cout << '3'; break;
                case 4: cout << '4'; break;
                case 5: cout << '5'; break;
                case 6: cout << '6'; break;
                case 7: cout << '7'; break;
                case 8: cout << '8'; break;
                case 9: cout << '9'; break;
                case 10: cout << 'A'; break;
                case 11: cout << 'B'; break;
                case 12: cout << 'C'; break;
                case 13: cout << 'D'; break;
                case 14: cout << 'E'; break;
                case 15: cout << 'F'; break;
            }
        }
        cout << endl;
    }
 
    return 0;
}
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1820
Регистрация: 18.10.2014
Сообщений: 17,205
17.02.2022, 20:34
Цитата Сообщение от Nolic12 Посмотреть сообщение
for (int n = 0; n < pow(2, Ns); n++)
Использование функции pow...


Цитата Сообщение от Nolic12 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
            switch (hex[i])
            {
                case 0: cout << '0'; break;
                case 1: cout << '1'; break;
                case 2: cout << '2'; break;
                case 3: cout << '3'; break;
                case 4: cout << '4'; break;
                case 5: cout << '5'; break;
                case 6: cout << '6'; break;
                case 7: cout << '7'; break;
                case 8: cout << '8'; break;
                case 9: cout << '9'; break;
                case 10: cout << 'A'; break;
                case 11: cout << 'B'; break;
                case 12: cout << 'C'; break;
                case 13: cout << 'D'; break;
                case 14: cout << 'E'; break;
                case 15: cout << 'F'; break;
            }
C++
1
cout << (char) (hex[i] < 10 ? '0' + hex[i] : 'A' + hex[i] - 10);
или

C++
1
cout << "0123456789ABCDEF"[hex[i]];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru