Откуда берется отрицательное число при вычислении процентов ? - C#

  1. Дано buff.Length = 98M Shift изменяется от 0 до buff.Length. Вычисляю в процессе работы программы сколько с процентах состовляет текущее значение Shift . При вычислении tempValue следующим образом когда shift равен четверти buff.Length выражение становится отрицательным (tempValue = -21)


textual

Код к задаче: «Откуда берется отрицательное число при вычислении процентов ? - C#»

                                int BN = buff.Length ;
                    Int64 tempValue = (Int64)shift * 100 / BN;

СДЕЛАЙТЕ РЕПОСТ

9   голосов, оценка 3.778 из 5



Похожие ответы
  1. Доброго всем времени суток! Подскажите как из кода динамической библиотеки получить путь к ней самой. Написал плагин для IE (это собственно и есть dll). В коде библиотеки свойство Application.StartupPath возвращает путь к Internet Explorer. А нужен пусть к месту расположения dll. Как быть ?

  1. Гусеница ползет со скоростью 1 см/мин по куску резины, стремясь достичь противоположного конца. Кусок резины имеет длину 5 см и может растягиваться до любой длины. Через минуту вы растягиваете резину так, чтобы она удлинилась вдвое (т.е. стала 10 см в длину). Гусеница прочно держится на поверхности и продолжает двигаться, когда вы снова вытягиваете резину так, что ее первоначальная длина утраивается. Гусеница продолжает ползти, а вы продолжаете каждую минуту тянуть резину…. Доберется ли гусеница когда-нибудь до противоположного конца? Если да, то когда?

  1. Доброго времени суток, товарищи! У меня следующая проблема: Откуда брать имена|названия|лэйблы жестких дисков и съемных устройств? Я умею находить их типы, букву и т.д. на картинке показано что именно мне надо варианты которые не подходят: 1)VolumeLabel - этот кадр у меня всегда пустой; 2)DriveType - выдает только тип, причем как-то странно он говорит, если у вас DVD он все равно назовет его CDRom; 3)манипуляции с реестром - этот вариант допустим, но нежелателен;

  1. Необработанное исключение типа "System.IndexOutOfRangeException" произошло в ConsoleProject.exe Дополнительные сведения: Индекс находился вне границ массива.

  1. Гусеница ползет со скоростью 1 см/мин по куску резины, стремясь достичь противоположного конца. Кусок резины имеет длину 5 см и может растягиваться до любой длины. Через минуту вы растягиваете резину так, чтобы она удлинилась вдвое (т.е. стала 10 см в длину). Гусеница прочно держится на поверхности и продолжает двигаться, когда вы снова вытягиваете резину так, что ее первоначальная длина утраивается. Гусеница продолжает ползти, а вы продолжаете каждую минуту тянуть резину…. Доберется ли гусеница когда-нибудь до противоположного конца? Если да, то когда? Желательно сделать не через консоль а через форму и с листбоксом.

  1. Добрый день! Подскажите как это сделать. Разрабатываю программу, есть в ней куча диалогов (открыть, сохранить) для выбора файлов из разных каталогов. В самой программе есть парсер со страницы HTML. При первоначальном запуске парсер скидывает файл в папку с программой, то есть туда откуда она была запущена. Но если я до этого использую диалоги (открыть, сохранить) с других каталогов, то парсер скидывает файл по последнему пути используемого (открыть, сохранить) Вопрос, как прописать в парсере путь каталога (фиксированный) откуда была запущена программа, и чтобы он не менялся

  1. Есть некоторая дорога. С одной стороны этой дороги стоит пушка, с другой — место спауна некоторых объектов сферической формы. От пушки до места спауна объектов 10,5 метров. Сфера после спауна движется со скоростью 1 м/c. Пушка может стрелять в объекты раз в три секунды. То есть, перезарядка пушки длится ровно 3 секунды. Может быть и так, что пушка делает выстрел в объект, проходит 3 секунды, она полностью перезаряжается. Затем проходит еще какое-то время и она делает выстрел. То есть, интервалы между выстрелами из пушки произвольные. Количество сфер, которые будут спауниться, задано (например, 20 штук). Так же даны моменты времени спауна каждой сферы, например:20 100 101 102 103 104 105 151 152 154 155 157 158 160 161 163 164 166 167 169 170 Здесь число на первой строке — количество сфер, ряд чисел на второй строке — моменты спауна. Как лично я понимаю, это все в тех же самых секундах. То есть, первая сфера появится после 100 секунд с момента запуск приложения, вторая — через 1 секунду после спауна первой, третья через 1 секунду после спауна второй и через 2 секунды считая от момента спауна первой. Сама задача: определить, какая из сфер все же доберется до пушки, то есть преодолеет все 10,5 метров и врежется в пушку. Когда из пушки производится выстрел, то гарантируется, что снаряд обязательно попадет в сферу и снаряд мгновенно после выстрела поражает сферу, то есть время на полет снаряда не затрачивается. Если сфера врезается в пушку, то нужно вывести номер этой сферы. Если ни одна сфера не врезалась в пушку, то нужно вывести "Ни одна сфера не добралась до пушки". Нужно сделать это не для конкретно какого-то случая, а для ряда таких случаев, например:Пример №1: 11 0 1 2 3 4 5 6 7 8 9 10 На выходе получается: 7 Пример №2: 11 0 2 4 6 8 10 12 14 16 18 20 На выходе получается: Ни одна сфера не добралась до пушкиПример №3: 20 100 101 102 103 104 105 151 152 154 155 157 158 160 161 163 164 166 167 169 170 На выходе получается: 14 Пожалуйста, проконсультируйте, как такое написать для всех возможных заданных значений. Не могу понять, отдельно для какого-то случая написать могу, а в общем виде не получается.