Объясните в чем ошибка - C#
Формулировка задачи:
У меня при переводе в 2 систему счисления получается все нормально. пользуюсь вод таким методом
Но как только стараюсь таким же методом перевести первые восемь бит данного числа обратно в систему счисления с основанием 10 получается какая то лажа
получаю чуть ли не миллион в результате хотя число которое генерируется в первых 2х таблицах в пределах от 0 до 255
где ошибка помогите?!?! И еще если ставлю Int16 с которого все прекрасно и правильно переводиться в 10 систему счисления вот в этом месте вылетает ошибка число которое сюда попадает либо велико либо мало
Даже если я все числа поставлю в Int16 тогда просто пользователь не может ввести число к примеру больше 4 тысяч программа вылетает с такой же ошибкой
int nac = System.Convert.ToInt32(textBox1.Text); string str = System.Convert.ToString(nac, 2);
x = System.Convert.ToInt32(textBox3.Text.Substring(0, 8));/// беру с числа первые 8 бит для тб 1 уровня y = System.Convert.ToInt32(textBox3.Text.Substring(8, 8));/// тут буру 2 8 бит для тб 2 уровня z = System.Convert.ToInt32(textBox3.Text.Substring(16, 12));/// тут смещение получаю оставшиеся 12 бит label15.Text= System.Convert.ToString(x,10);
x = System.Convert.ToInt16(textBox3.Text.Substring(0, 8))
Решение задачи: «Объясните в чем ошибка»
textual
Листинг программы
x = nac & 0xFF; // 0-7 биты y = (nac >> 8) & 0xFF; // 8-15 биты z = (nac >> 16) & 0x0FFF; // 16-27 биты
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д