Господа программисты. подскажите как присвоить переменной значение разряда трехзначного числа.
- Войдите на сайт для отправки комментариев
Пнд, 24/02/2014 - 00:19
Например есть число 256
присвоить переменной n1=2, n2=5, n3=6.
Понятно что можно делить на 10, 100 отбрасывать дробную часть, и тд. Но ведь должен же быть специальный оператор для этого?
Всем спасибо.
ну если длинна числа заранее известна то легче все же писать через математические функции - деление и модуль + циклы.
еще можно сделать "финт ушами" и перевести число в строчку и соответственно первый символ в строке это (в вашем примере) сотни,второй символ - десятки,третий - еденицы и потом каждый из них перевести обратно в массив типа int,тоже все это проделать в цикле .
а так что бы прям встроенная-готовая функция делала ,лично я не встречал(может потому что много хлопот писать такую функцию универсальной под все возможные случаи),если есть то скорее всег в классах Integer или Sting,но как мне кажеться использование целого класса для такой задачки этот как "из пушки по мухам " - будет много памяти сжирать ,но если у вас во всем коде это не одно единственное место где вам нужны подобные приобразования,может и целесообразно.
Элементарная операция с делением и модулем. Зачем под каждую простую операцию назначать свой оператор?) если число разрядов заранее не известно - делаем цикл с последовательным делением на 10, берем модуль и кладем в массив. Таким образом получится, что первой ляжет в массив десятичная цифра, потом сотня и тд. Осианавливаемся когда в результате очередного деления получим ноль.
важно. Для этих операций переменные должны быть целочисленных типов.
Но ведь должен же быть специальный оператор для этого?
Конечно же есть - "Bitwise OR" (|).
Но он работает только с двоичными числами.