Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 2 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 26.07.2006
Есть строка, из неё отбираются цифры, и эти цифры надо записать в число.
Например 34,543.64 посимвольно обрабатывается с первого символа до последнего и записывается в long double, получается сначала 3 -> 34 -> 345 и т.д. Так вот, я использую для сдвига разряда влево умножение на 10, а есть ли какой-то другой путь? Кроме того, как можно сдвигать десятичные разряды вправо незатрягивая целочисленные?



Партнер
 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
GrIfFiN7 писал(а):
Так вот, я использую для сдвига разряда влево умножение на 10, а есть ли какой-то другой путь?

нету. Если бы числа были в двоичной, 8-, 16-ричной системе счисления, то можно было бы использовать битовые операции сдвига. В данном случае делается тоже самое, но 10-ная система счисления для компа не родная, поэтому только умножением.

GrIfFiN7 писал(а):
Кроме того, как можно сдвигать десятичные разряды вправо незатрягивая целочисленные?

в смысле, дробную часть подтянуть? Просто храни отдельно целую и дробную части, потом, когда закончишь с преобразованиями, объединишь их.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 2 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan