Я хочу выполнить побитовую операцию и(&) между двумя переменными.но у меня есть одно значение в double.but double не допускает побитовой операции.
Я хочу выполнить немного мудрую операцию между двумя числами: одно имеет тип double, а другое-тип int.И когда я выполняю код, получаю исключение, которое.Побитовая операция и не может быть выполнена между double и int.
Что я уже пробовал:
строка add64 = "0013A2004154EC8E";
двойной num_add64 =типа int64.Синтаксический анализ(add64, системы.Глобализация.Числовые стили.HexNumber);
int sumadd = (int)sum;
int r = sumadd & ck;
после типового литья .В переменной sumadd я получаю отрицательное значение.Вот в чем проблема.
Пожалуйста, помогите мне.Заранее спасибо.
Richard MacCutchan
Это не имеет смысла, какую проблему вы пытаетесь решить?
CodeWraith
Он борется с теми же проблемами, что и многие другие: отсутствие понимания типов данных и того, как они хранятся в памяти, строгий ввод, а затем синтаксический анализ или преобразование в какой-то не слишком хорошо выбранный тип данных, только чтобы привести его к другому не очень хорошо выбранному типу данных.
В конце концов, похоже, что он просто хочет инициализировать переменную с литеральным 64-битным адресом, а затем замаскировать (угадать!) какую-то часть контрольной суммой.
Richard MacCutchan
Я знаю, поэтому и задал свой вопрос.