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

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

Войти
Регистрация
Восстановить пароль
 
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
#1

тип данных для двоичного числа - C++

20.11.2013, 18:06. Просмотров 1188. Ответов 13
Метки нет (Все метки)

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

1111111000110010

и самое большое

11111011111100000000111111111000000001010101000000000000000010111111111000000001111111110000000010101010101010000011
что можно придумать?

Добавлено через 2 минуты
ну в принцепи мне эти числа, по идее я так думаю нужно будет переводить в десятичную систему, ну как бы самое большое мне по идее не понадобится, ну пока вроде, но теоритечски по коду оно долно быть использовано правильно, ну вдруг прийдется использовать
если что, то я вот так вот их достаю из файла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream> 
using namespace std; 
void main()
{
    long sp,dp,sn,an,Do,res,cb,win,checksum,up,data;
 
    ifstream F;
    F.open("D:\\not_touch\\lab\\programing\\divchata\\new programm\\TCP_1.txt");
 
   F >> sp>>dp>>sn>>an>>Do>>res>>cb>>win>>checksum>>up>>data; 
 
 
    
    F.close();
 
   cout << sp << "; " << dp << "; " << sn << "; " << an << "; "<< Do << "; " << res << "; "<< cb << "; " << win << "; "<< checksum << "; " << up << "; "<< data << "; "<< endl;
    system("pause");
}
Добавлено через 7 минут
хотя то большое число мне тоже понадобится, так что и с ним надо что-то зделать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 18:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос тип данных для двоичного числа (C++):

Какой тип данных лучше подойдет для приложения, которое делит числа int или float? - C++
Ответ написал int Хотя нутром чую, что float

нужен тип целого числа для числа 19!= 121 645 100 408 832 000 - C++
Нужно посчитать сумму цифр целого положительного числа. double summacifr(double chislo) { double summa=0; while(chislo) ...

Свой тип данных позволяющий хранить числа разрядностью в <= 30 - C++
Доброго времени суток! Возникла потребность иметь программу позволяющую производить арифметические действия с числами, разрядность...

Тип для хранения огромного числа. - C++
Нужно хранить огромное число целого типа.Что-то около 17-24 цифр. Подойдёт ли int 64?

Целочисленный тип данных для 10^50 - C++
Существует ли в C++ целочисленный тип данных, который вмещает 10^50?

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

13
MarVaL
С++ Beginner
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
20.11.2013, 18:17 #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
typedef unsigned int Byte;
int main(){
  Byte M = 1516;
  for(int i = sizeof(Byte) * 8 - 1; i >= 0; --i)
    if(M & (1 << i))
      std::cout << "1";
    else
      std::cout << "0";
  return 0;
}
0
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
20.11.2013, 18:25  [ТС] #3
это для перевода в двоичное число? но замеч мне ненадо переводить или же вы как пример показали тип данных? если да, то он у меня почему не заработал, ну я вот так вот подставил
C++
1
2
3
4
5
typedef unsigned int Byte;
void main()
{
    long sp,dp,sn,an,Do,res,cb,win;
    Byte    checksum,up,data;
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
20.11.2013, 18:36 #4
итернал, тебе банально надо двоичное число преобразовать в десятичное, обработать и преобразовать обратно в двоичное на вывод. А если тебе все-таки упрямо хочется работать с двоичным числом, то стоит обатить внимание на классы и перегрузку операторов.
1
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
20.11.2013, 18:46  [ТС] #5
Angeline, я канешно может не так понимаю, но я же помоему из файла значение заношу сразу в переменную и как мне его обработать если там получается черт знает что, ну всмысле больше чем может позволить тип данных или же нет?
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
20.11.2013, 18:54 #6
итернал, ну как тебе сказать-то... Такие вещи обрабатываются в строках, а точнее в символьных массивах, иначе говоря char[], так как строк в с++ нет.
1
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
20.11.2013, 19:00  [ТС] #7
легче канешно особо не стало) то сначало мучался как из файла вытащить данные сразу в переменную что бы с ней работать, а теперь походу я так понимаю надо в массив запихнуть имено только двоичные да? и потом с ними уже работать
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
20.11.2013, 19:10 #8
итернал, запихиваешь это в массив, как текст. Потом в цикле вроде такого делаем десятичное число. Если в int не влазит, можно unsigned __int64 использовать, как вариант. Цикл написан для одного числа в строке и возможно в row перепутаны местами аргументы(нету компилятора под рукой, сижу вот с мобилы).
C++
1
2
3
4
5
6
7
int k=0;
int num10=0;
for (int i=last/*последний элемент массива*/;i>=0; i--)
{
if (str[i]="1") num10+=row(2, k);
k++;
}
1
I.M.
565 / 548 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
20.11.2013, 19:30 #9
Цитата Сообщение от Angeline Посмотреть сообщение
Такие вещи обрабатываются в строках, а точнее в символьных массивах, иначе говоря char[], так как строк в с++ нет.
C++
1
std::string
0
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
20.11.2013, 19:35  [ТС] #10
да ну всеравно задачу не сильно облегчает, я начал со строк, просто у меня файл имеет как бы и другие значения, ну примерно вот так
80
8080
1123
1124
30
000011
110010
1500
1111111000110010
0000000000011000
11111011111100000000111111111000000001010101000000000000000010111111111000000001111111110000000010101010101010000011
и вроде как уже первые выбрал в переменные,ну те что влазят, снова приходится со строкой мучатся, ладно справлюсь как нибуть, думаю наворочу что-то главное что идее уже есть
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
20.11.2013, 19:36 #11
I.M., подробнее?
0
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
20.11.2013, 19:40  [ТС] #12
Angeline, про строки?
да тут много можно говорить, ну вот пример как я делал для своего файла, ну имея только там одну строчку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <string>
#include <iostream>
using namespace std;
void main()
{
    FILE *f;                                      
    string bs;                                                                           
    double t;
    t=5;
    f=fopen("ТСР_1.txt","r");                                                    
    while(!feof(f))                                                                  
    {
        bs+=fgetc(f);                                                         
    }
    fclose(f);                                                                             
    double p = atof(bs.c_str());
    cout<<p;
    scanf("%i");
}
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
20.11.2013, 19:47 #13
итернал, ну вот я читала, что строковых типов нету в с++.
0
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 324
Завершенные тесты: 1
20.11.2013, 19:52  [ТС] #14
ну незнаю незнаю, тип string есть и он для обьявления строк предназначен, ну погугли увидеш
0
20.11.2013, 19:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2013, 19:52
Привет! Вот еще темы с ответами:

Тип данных для размера файла - C++
warning C4244: 'initializing' : conversion from 'std::streamoff' to 'int', possible loss of data . Как это устранить? Код: ...

Какой тип лучше всего подойдет для числа? - C++
Есть число 2455903.795232, какой для него лучше всего тип переменной использовать?

Свой тип данных для перегрузки функций - C++
Добрый день! Имеется широта и долгота - все FLOAT. Хочу сделать пару функций с одинаковым названием, но с разной реализацией для разных...

Тип данных для очень большого массива - C++
Есть массив где больше четырех миллионов элементов int massiv={0}; когда так пишу программа компилируется нормально но при...


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

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

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