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

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

Войти
Регистрация
Восстановить пароль
 
krocodil7632
0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 14
#1

из строки --> Число - C++

16.02.2010, 20:50. Просмотров 508. Ответов 8
Метки нет (Все метки)

Есть строка "10000111" -> в переменную int b.??????Плизззз
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2010, 20:50     из строки --> Число
Посмотрите здесь:

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

В двумерном массиве целых чисел добавить строки после строки, содержащей простое число - C++
В двумерном массиве целых чисел добавить строки после строки, содержащей простое число. Новая строка будет заполняться этим простым числом....

Массив: Напечатать номер каждой строки, в которой второй элемент меньше среднего арифметического элементов этой строки, и число таких строк. - C++
Дана матрица А(m,n). Напечатать номер каждой строки, в которой второй элемент меньше среднего арифметического элементов этой строки,...

Из строки в число - C++
Как можно преобразовать строку с цифрами в число отдельной функцией, не используя atoi, но пользуясь стандартными библиотеками?

Двоичное число + строки - C++
Определить является ли введенная с клавиатуры строка двоичным числом? Не могу понять как реализовать, помогите плиз..

Перевод строки в число - C++
Задание таково: нужно создать функцию, которая переводит строку из чисел типа string в число типа double (строку string нужно! посимвольно...

Преобразования строки в число - C++
Добрый вечер! Знаю, что подобная проблема здесь уже поднималась, однако решение ее я так и не нашел. Суть задачи: ввести сумму используя...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
16.02.2010, 20:54     из строки --> Число #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
 
int main(){
char str[] = "10000111";
int b = atoi(str);
printf("b= %d",b);
printf("\n");
 
 
 
getch();
return 0;
}
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
16.02.2010, 20:56     из строки --> Число #3
krocodil7632,
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int main()
{
    std::string str = "101";
    int number =  boost::lexical_cast <int> (str);
    std::cout << number << std::endl;
    return 0;
}
easybudda
Эксперт CЭксперт С++
9462 / 5475 / 927
Регистрация: 25.07.2009
Сообщений: 10,499
16.02.2010, 21:06     из строки --> Число #4
Цитата Сообщение от krocodil7632 Посмотреть сообщение
Есть строка "10000111"
Сдаётся мне, что это число в двоичном формате, а не в десятичном
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
 
int main(void){
    char *binstr = "10000111";
    long num;
    
    num = strtol(binstr, NULL, 2);
    printf("Bin: %s\tDec: %ld\n", binstr, num);
    
    exit(0);
}
krocodil7632
0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 14
16.02.2010, 21:19  [ТС]     из строки --> Число #5
Вообще нужно со string, но почему то программа Андрейки у меня не пашет(((
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
16.02.2010, 21:38     из строки --> Число #6
krocodil7632, у вас boost'a нету.
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,468
16.02.2010, 22:48     из строки --> Число #7
C++
1
2
3
4
5
6
7
8
    int res = 0;
    std::string str = "1001";
    for (int i = str.length()-1; i > -1; i--)
    {
        res = res << 1;
        res = res | (str[i]-'0');
    }
    std::cout << res;
Идем от последней буквы к первой, (str[i]-'0') возвращает 0 если в строке эта буква была '0' ... и 1 если '1'. res = res | просто записывает в последний бит то что мы получили. Чтобы записать следующую букву не поверх мы смещаем res = res << 1;... т.е допустим уже было записано 111 а после << будет 1110 в эту "выделенную" ячейку мы и запишем новую букву... ну и так до конца строки
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
16.02.2010, 22:59     из строки --> Число #8
Цитата Сообщение от Андрейка Посмотреть сообщение
krocodil7632, у вас boost'a нету.
Долго свой велосипед "lexical_cast" написать...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <sstream>
#include <string>
 
template <typename T, typename U>
T lexical_cast(const U &rhs){
    std::stringstream ss;
    ss << rhs;
    T res; ss >> res;
    return res;
}
 
 
int main(){
    std::string str = "123";
    int x = lexical_cast<int>(str);
    std::cout << x << std::endl;
 
    x = lexical_cast<int>("1001");
    std::cout << x << std::endl;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2010, 23:38     из строки --> Число
Еще ссылки по теме:

Извлечь число из строки - C++
Добрый день. Есть строка, например, вида: field001600.bin Из нее нужно извлечь число 1600 (т.е. без ведущих нулей). Подскажите, как...

Элемент строки в число - C++
Есть строка типа string с данными &quot;число1 число2&quot;, как перевести число2 в int? atoi, stoi не подходят.

Преобразование строки в число - C++
Есть строка с цифрами разделенная точкой с запятой: 1, 2, 3 string s = &quot;1, 2, 3&quot;; Как мне из этой строки достать по очереди все цифры и...

Вытащить число из строки - C++
Здравствуйте. Как перевести несколько символов char в int? Например, мне надо перевести набор символов &quot;234&quot;. Не понимаю, как можно все...

Преобразование строки в число? - C++
Написал функцию, которая введенную преобразует в число. Но при выводе пишет, что она хранит не введенное число, а 0. В чем я ошибся? ...


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

Или воспользуйтесь поиском по форуму:
krocodil7632
0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 14
16.02.2010, 23:38  [ТС]     из строки --> Число #9
Всем большое спасибо!!! Очень выручили))
Yandex
Объявления
16.02.2010, 23:38     из строки --> Число
Ответ Создать тему
Опции темы

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