Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
15 / 15 / 8
Регистрация: 06.06.2015
Сообщений: 99
1

Преобразование число в строку

09.11.2015, 12:22. Показов 805. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет ребята, хочу спросить как с помощь printf число можно переобразовать в строку?
Например через itoa это можно сделать вот так:
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
#include <iostream>
using namespace std;
 
#pragma warning(disable:4996)
 
void Binary(int num);
int main()
{
    int number;
    const int numBits = sizeof(number) * 8;
    cout << "Enter number:";
    cin >>number;
 
    char numStr[40];//char numStr[numBits+1];
    cout << "Number "<< number << " in binary is "<<  itoa(number, numStr, 2)<<endl;
    cout << "Number " << number << " in binary is "; Binary(number);
    cout << "It's last bit : " << (number & 1)<<endl; 
    cout << "It's first  bit : " << ( (number >>  (numBits - 1 ))  & 1)<<"\n\n";
 
    int bit;
    cout << "\nBit setting\nEnter # of bit (0- "<< numBits -1 << ") : ";
    cin >>  bit;
    number = number | (1 << bit);// 00000000000000000000001000000000
    cout << "Now we have number " << number << " in binary is " <<  itoa(number, numStr,2)<<endl;
    cout << "Now we have number " << number << " in binary is "; Binary(number);
    
    cout << "\nBit clearing\nEnter # of bit (0- "<< numBits -1 << ") : ";
    cin >>  bit;
    number = number & ~(1 << bit);
    cout << "Now we have number " << number << " in binary is " <<  itoa(number, numStr, 2)<<"\n\n";
    cout << "Now we have number " << number << " in binary is "; Binary(number);
 
 
    int lenFrag, mask = 1; // 0000000000000000000000000001
    cout << "\nSetting of  sequence of bits\nEnter length of fragment and first bit  : ";
    cin >> lenFrag >> bit;;
    
    for (int i =0; i < lenFrag-1; ++i) //
        mask = mask << 1 | 1; // 0000000000000001111
    
    mask = mask << bit; //
    
    cout << "Now we have mask " << mask << " in binary is " <<  itoa(mask, numStr, 2)<<endl;
    // mask =  11110000000000
    number = number | mask;
    cout << "Now we have number " << number << " in binary is " <<  itoa(number, numStr, 2)<<endl;
    cout << "\nResult of function Binary for " <<number << " : ";
    Binary(number);
 
}
void Binary(int num)
{
    int size = sizeof(num) * 8;
 
    for (int i = size - 1; i >=0; --i)// 001111000000111
    {
        cout << (num >> i & 1 ) ; // 0
    }
    cout <<endl;
    
}
А с помощь printf как правильно Это сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2015, 12:22
Ответы с готовыми решениями:

Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку.
Задача направленная на усвоение следующих понятий: прототип функции; заголовок функции; тело...

Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д.
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число»,...

Преобразование в строку и число
делаю вот такие действия $tc=strval(567); echo $tc.&quot;&lt;br&gt;&quot;; # 567 $tc{0}=&quot;&quot;; echo...

Найти разность между минимумом и максимумом массивов и проверить строку на преобразование в десятичное число
Помогите пожалуйста с заданиями: 1) Даны массивы вещественных чисел A и B с одинаковым количеством...

7
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
09.11.2015, 12:25 2
C++
1
2
char numStr[40];
sprintf(numStr,"%d",number);
C++
1
2
3
4
5
6
#include <sstream>
...
ostringstream ss; // создаем поток вывода в строку
ss<<number; // передаем в поток ss целое число
string numStr=ss.str();// выколупываем получившуюся строку из потока
cout<<numStr;
1
15 / 15 / 8
Регистрация: 06.06.2015
Сообщений: 99
09.11.2015, 12:38  [ТС] 3
Спасибо,
C++
1
2
3
ostringstream ss; // я так понимаю ostringstream - это тип в котором создаеться переменная ss и она может храть число
ss<<number;//таким образом ее можно показать
string numStr=ss.str();//а тут ее в строку превращаем
Выходит я могу даже с ним делать операцыи разные?
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
09.11.2015, 12:51 4
Shonrens, Я добавил комментарии в пост.
1
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
09.11.2015, 12:57 5
Насчет преобразования можно посмотреть в сторону boost::lexical_cast
http://www.boost.org/doc/libs/... _cast.html
1
15 / 15 / 8
Регистрация: 06.06.2015
Сообщений: 99
09.11.2015, 13:17  [ТС] 6
Огромное спасибо.
C++
1
cout << "Number "<< number << " in binary is ";  sprintf(numStr, "%d", number);
Вот так сделал с первого примера, хотел спросить можно как то еще код упростить?

Добавлено через 17 минут
Пример только для стринг или для чара тоже можно сделать?
C++
1
2
3
ostringstream ss; // я так понимаю ostringstream - это тип в котором создаеться переменная ss и она может храть число
ss<<number;//таким образом ее можно показать
string numStr=ss.str();//а тут ее в строку превращаем
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
09.11.2015, 13:22 7
stringstream - это полноценный потоковый класс, который выводит результат в строку.
Т.е. все, что могли со stream, можете и с stringstream.

Только комментарии у Вас неправильные, см. мой пост №2
1
15 / 15 / 8
Регистрация: 06.06.2015
Сообщений: 99
09.11.2015, 15:35  [ТС] 8
Да я разобрался спасибо, про коментарии забыл просто)
0
09.11.2015, 15:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2015, 15:35
Помогаю со студенческими работами здесь

Преобразование даты число/число в Число/Текст
Подскажите пожалуйста массив может содержать два типа даты день/месяц(число/число) или...

Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число »,« положительное нечетн
Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число...

Преобразование в строку
файлик Info.txt должен переименоваться в &quot;имя пользователя&quot; + &quot;.txt&quot; , но выходит только имя без...

Преобразование в строку
Приветствую. Помогите, пожалуйста, с программой. Я работаю в проекте WindowsForm и столкнулся с...

Считать строку, и найти число вхождений символа в эту строку (с использованием strchr)
Почему не работает, компилятор ошибок не ловит, при запуске вылетает с ошибкой. Программа должна...

Ввести строку, число N. Вывести введенную строку на экран N раз (перевести в 32 битную версию)
org 100h mov ah,9 mov dx,msg1 int 21h ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru