С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
nilsonafter
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 73
1

Вывести битовое представление целого числа со знаком

31.10.2017, 20:08. Просмотров 207. Ответов 8
Метки нет (Все метки)

как можно упростить данный код и исправить ошибки?
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
    signed int b;
    signed int c;
    signed int d;
    int massiv[32]
    for (signed int b=0; b<=31;b++) {
        massiv[b]=1;
}
scanf("%d"&a);
a=c;
b=0;
d=-1;
   if (a==0)
{
    d=0;
    massiv[0]=0;
}
else {
    while(a!=0) {
        if (a%2==0) 
        {
            massiv[b]=0;
            if (c<0)
            massiv[b]=1;
            a=a/2;
        }
        b++;
        d++;
    }
    if(c <0){
        massiv[0]=massiv[0]++;
        for(b=0;b<=d;b++)
        {
            if(massiv[b]==2){
                massiv[b]=0;
                if(b!=d)
                massiv[b+1]=massiv[b+1]++;
            }
            
        }
        d=31;
    }
}
for(d;d>=0;d--)
printf("%d",massiv[d]);
printf("\n");
getchar();
return 0;
}

ошибки :
1>c:\users\777\searches\desktop\для учебы\информатика\stroki\stroki\stroki.cpp(9): error C2143: синтаксическая ошибка: отсутствие ";" перед "for"
1>c:\users\777\searches\desktop\для учебы\информатика\stroki\stroki\stroki.cpp(12): error C2296: &: недопустимо, левый операнд имеет тип "const char [3]"
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2017, 20:08
Ответы с готовыми решениями:

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

Битовое представление вещественного числа, ошибка в коде
#include &lt;iostream&gt; using namespace std; void binary (double x); ...

Инвертировать десятичное представление целого числа
int main(int argc, char *argv) { int n,i; printf(&quot;enter n:\n&quot;);...

Битовое представление
Как можно получить любой файл в виде массива бит (именно бит, не байт) чтобы...

Битовое представление
Здравствуйте! Напишите пример функции, которая принимает целое число и выводит...

8
Байт
Эксперт C
19259 / 12378 / 2615
Регистрация: 24.12.2010
Сообщений: 25,493
31.10.2017, 20:10 2
nilsonafter, это какой-то случайный кусок кода?
0
Herji
293 / 203 / 174
Регистрация: 11.05.2016
Сообщений: 658
Завершенные тесты: 1
31.10.2017, 20:11 3
Вы бы написали, для начала, что оно теоретически делать должно
0
nilsonafter
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 73
31.10.2017, 20:13  [ТС] 4
Herji, Вывести битовое представление целого числа со знаком

Добавлено через 19 секунд
Байт,
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
#include <stdio.h>
#include <conio.h>
int main () 
{
    const int SIZE=32;
    int a, i, copy, m;
    int A[32];
    for (int i=0; i<SIZE;i++)
        A[i]=1;
    puts("a=?");
    scanf_s("%d",&a);
    copy=a;
    i=0;
    m=-1;
    if (a==0)
    {
        m=0;
        A[0]=0;
    }else
    {
        while(a!=0) 
        {
            if (a%2==0) 
            {
                A[i]=0;
                if (copy<0)
                    A[i]=1;
            }
            a/=2;
            i++;
            m++;
        }
        if( copy<0)
        {
            A[0]=A[0]+1;
            for(i=0;i<=m;i++)
            {
                if(A[i]==2)
                {
                    A[i]=0;
                    if(i!=m)
                        A[i+1]=A[i+1]+1;
                }
 
            }
            m=SIZE-1;
        }
    }
    for(m;m>=0;m--)
        printf("%d",A[m]);
    printf("\n");
    getch();
    return 0;
}
0
Herji
293 / 203 / 174
Регистрация: 11.05.2016
Сообщений: 658
Завершенные тесты: 1
31.10.2017, 20:16 5
Вывести битовое представление целого числа со знаком
0
nilsonafter
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 73
31.10.2017, 20:17  [ТС] 6
Herji, я знаю, но там слишком умные способы. я хочу именно этот код переделать.
0
LVV
120 / 107 / 39
Регистрация: 15.02.2010
Сообщений: 454
01.11.2017, 05:00 7
А может так?
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
//проверено в Visual Studio 2017
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int a;   //исходное число
    cin >> a;
 
    char z = '+';//знак числа
    if (a < 0)
    {
        z = '-';
        a = -a;
    }
 
    int r = 2;  //система счисления
    char b[32]; //буфер результата
    char *p;  //указатель на результат
    p = itoa(a, b, r); //преобразование в r-ичную систему счисления
    cout << z<< p << endl;//вывод символьной строки co знаком
 
    system("pause");
return 0;
}
0
nilsonafter
0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 73
01.11.2017, 17:50  [ТС] 8
LVV, это на с плюс плюс, а я на си работаю)
0
LVV
120 / 107 / 39
Регистрация: 15.02.2010
Сообщений: 454
02.11.2017, 06:59 9
Цитата Сообщение от nilsonafter Посмотреть сообщение
LVV, это на с плюс плюс, а я на си работаю)
Для С - сюда: http://www.cyberforum.ru/c-beginners/
0
02.11.2017, 06:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2017, 06:59

Получить двоичное строковое представление целого неотрицательного числа
Помогите пожалуйста с программой, очень надо. Описать функцию DecToBin(N)...

Битовое представление int const
Допустим int const i = -128. Но как узнать битовый вид перед тем как искать...

Битовое представление каждого байта
Вывести битовое представление каждого байта в интовой переменной. Прошу...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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