0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 10

Формат вывода чисел

24.12.2016, 04:18. Показов 13216. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как обрабатывать переменную в которой хранится число вида 0.000000000000000000000000000001 (30 знаков)
Нужно запретить ее сокращать. Желательно если функция будет подходить для цикличной обработки множества чисел.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.12.2016, 04:18
Ответы с готовыми решениями:

Программа для вычисления суммы двух неотрицательных чисел. Ошибка: неправильный формат вывода.
Написал супер элементарную программу для вычисления суммы двух неотрицательных чисел. #include <stdio.h> int main() { int...

Формат вывода
Здравствуйте, уважаемые форумчане! Помогите, пожалуйста, исправить вывод, чтобы табличка ровненькой была. int main() { ...

Формат вывода double
Всем привет! В своей программе вывожу переменные типа double следующим образом: std::cerr << std::setprecision(12) << val; ...

26
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
04.03.2017, 19:30
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от IGPIGP Посмотреть сообщение
но стандартных средств я не знаю. Может они и есть, а я не знаю, вернее. Поэтому я и спрашиваю
C++
1
2
    float f = 1e-30;
    std::cout << std::setprecision(30) << std::fixed << f;
Не?
1
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
04.03.2017, 19:44
Цитата Сообщение от IGPIGP Посмотреть сообщение
Напишите что вы имеете ввиду.
Число, представленное ТС в качестве примера, имеет 1 десятичную цифру в мантиссе. Ведущие нули - не в счёт. Это легко видеть, записав его в экспоненциальной форме: 1*10^-30. В такой приблизительно форме, только в двоичной системе счисления, оно и записывается в форматах с плавающей точкой. Отдельно мантисса, отдельно экспонента.

Не зная ситуации ТС, не могу исключить как невозможный или даже маловероятный такой вариант, когда ему надо печатать числа с большим количеством ведущих нулей и разумным количеством значащих цифр (напомню - 7 для float, 15 для double).
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
04.03.2017, 21:24
Цитата Сообщение от avgoor Посмотреть сообщение
Не?
Я прошу прощения.
C++
1
2
cout.precision(30);
cout.fixed;
А подключить iomanip и попробовать не догадался.
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 10
05.03.2017, 10:57  [ТС]
В языке Jass было понятие подстроки - когда у строки некоторое количество символов с начало и/или конца не учитывалось, а остаток записывался в переменную, возможно ли что то подобное на c++ но только с числами?

Всегда остается вариант создать 30 переменных и записывать их преобразованные значения в строку, после чего суммировать в одну строку
Таким образом число вида 0.000000000000000000000000000001 разделялось бы на такие
String A = 0.
Double A1 = 0
Double A2 = 0
.....
Double A30 =0

Далее пишем циклическую функцию с if
Прибавляем к A30 единицу, если A30 == 9 то, сбросить значение до 0, но A29++
И так далее..
После каждого прибавления единицы, переводить все в string и записывать последовательно в одну строку, но это тот вариант, которого хотелось бы избежать.
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
05.03.2017, 12:41
Можно проще:
C++
1
2
3
4
5
6
7
#include <iostream>
#include <string>
 
int main()
{
   std::cout << std::stof("0.000000000000000000000000000001") << "\n";
}
, то есть, понимает такую запись сразу из коробки.
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 10
06.03.2017, 14:16  [ТС]
Nick Alte, не понял что ты хочешь этим показать, ведь мне нужно что бы число передавалось в исходном, а не сокращенном виде 1е-30, иначе при переводе в строку будет переведена именно сокращенная запись, что даст совершено другое значение при кодировке.
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
06.03.2017, 17:49
Цитата Сообщение от Nick Alte Посмотреть сообщение
разумным количеством значащих цифр (напомню - 7 для float, 15 для double)
C101Nine, если надо больше, можно использовать Boost.Multiprecision.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2017, 17:49

Формат вывода числа
Помогите пожалуйста решить проблему. Мне нужно вывести на экран объем жесткого диска в гигабайтах. вот код: unsigned long...

Неверный формат вывода
Здравствуйте! Язык С++ только осваиваю, но уже возникло тупиковое затруднение. Суть программы: написать функцию, которая принимает два...

Не правильный формат вывода =(
Не одно, так другое.....в общем, у меня раньше был не Set *set. А vector&lt;SetElement&gt; и когда я писал строки типа Set set1,set2;...

Неправильный формат вывода
Bicycle Codes Den has two four-digit combination locks for protecting his bicycle from thieves. Every evening he arms the bicycle...

Serial.print() - формат вывода
В библиотеке Ардуино есть такой код. Что такое - DEC и -&gt;? Логический сдвиг? Формат говорит, что DEC - это опциональный параметр для...


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

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

Новые блоги и статьи
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru