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

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

Восстановить пароль Регистрация
 
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
20.11.2013, 18:06     тип данных для двоичного числа #1
подскажите пожалуйста у меня есть двоичные числа какой тип данных нужен для них? ну всмысле я эти числа сам беру из файла и когда потом пытаюсь их вывести получается что как бы в переменной нечего нету, я уже пробывал разные типы данных
но там число получается большое даже для любого типа, ну разве что я незнаю какой-то тип данных
ну вот примеры чисел

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 минут
хотя то большое число мне тоже понадобится, так что и с ним надо что-то зделать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MarVaL
С++ Beginner
 Аватар для MarVaL
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;
}
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
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;
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
20.11.2013, 18:36     тип данных для двоичного числа #4
итернал, тебе банально надо двоичное число преобразовать в десятичное, обработать и преобразовать обратно в двоичное на вывод. А если тебе все-таки упрямо хочется работать с двоичным числом, то стоит обатить внимание на классы и перегрузку операторов.
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
20.11.2013, 18:46  [ТС]     тип данных для двоичного числа #5
Angeline, я канешно может не так понимаю, но я же помоему из файла значение заношу сразу в переменную и как мне его обработать если там получается черт знает что, ну всмысле больше чем может позволить тип данных или же нет?
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
20.11.2013, 18:54     тип данных для двоичного числа #6
итернал, ну как тебе сказать-то... Такие вещи обрабатываются в строках, а точнее в символьных массивах, иначе говоря char[], так как строк в с++ нет.
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
20.11.2013, 19:00  [ТС]     тип данных для двоичного числа #7
легче канешно особо не стало) то сначало мучался как из файла вытащить данные сразу в переменную что бы с ней работать, а теперь походу я так понимаю надо в массив запихнуть имено только двоичные да? и потом с ними уже работать
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++;
}
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
20.11.2013, 19:30     тип данных для двоичного числа #9
Цитата Сообщение от Angeline Посмотреть сообщение
Такие вещи обрабатываются в строках, а точнее в символьных массивах, иначе говоря char[], так как строк в с++ нет.
C++
1
std::string
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
20.11.2013, 19:35  [ТС]     тип данных для двоичного числа #10
да ну всеравно задачу не сильно облегчает, я начал со строк, просто у меня файл имеет как бы и другие значения, ну примерно вот так
80
8080
1123
1124
30
000011
110010
1500
1111111000110010
0000000000011000
11111011111100000000111111111000000001010101000000000000000010111111111000000001111111110000000010101010101010000011
и вроде как уже первые выбрал в переменные,ну те что влазят, снова приходится со строкой мучатся, ладно справлюсь как нибуть, думаю наворочу что-то главное что идее уже есть
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
20.11.2013, 19:36     тип данных для двоичного числа #11
I.M., подробнее?
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
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");
}
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
20.11.2013, 19:47     тип данных для двоичного числа #13
итернал, ну вот я читала, что строковых типов нету в с++.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2013, 19:52     тип данных для двоичного числа
Еще ссылки по теме:

Какой тип лучше всего подойдет для числа? C++
Целочисленный тип данных для 10^50 C++
C++ Тип данных для размера файла

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

Или воспользуйтесь поиском по форуму:
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
20.11.2013, 19:52  [ТС]     тип данных для двоичного числа #14
ну незнаю незнаю, тип string есть и он для обьявления строк предназначен, ну погугли увидеш
Yandex
Объявления
20.11.2013, 19:52     тип данных для двоичного числа
Ответ Создать тему
Опции темы

Текущее время: 17:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru