Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545

Объясните что делает эта строка кода - num = (ushort) (num & 0xFFFE) ?

23.02.2016, 23:23. Показов 5449. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вся программа:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Using System;
class MakeEven
 {
 static void Main() 
{
 ushort num;
 ushort i;
 for(i = 1; i <= 10; i++)
 {
 num = i; Console.WriteLine("num: " + num);
 num = (ushort) (num & 0xFFFE);
 Console.WriteLine("num после сброса младшего разряда: " + num + "\n");
 }
 }
 }
Никак не могу понять что делает эта строка - num = (ushort) (num & 0xFFFE);
p.s. Только изучаю С#.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.02.2016, 23:23
Ответы с готовыми решениями:

Объясните, что делает эта строка кода?
string s = new string(s.ToCharArray().Reverse().ToArray()); Пожалуйста, объясните супер подробно, и как можно проще, что делает эта...

Объясните, что делает строка кода
МОжете объяснить что делает эта строка: string digits = &quot;0123456789abcdefghijklmnopqrstuvwxyz&quot;;в этой программе: using System; using...

Есть кусок кода, объясните что он делает
private double GetRisk(Dictionary&lt;string, double&gt; dF, double Prob) { if (Prob &lt; -4.0) Prob = -4.0; if (Prob...

6
 Аватар для Scrypto
132 / 111 / 48
Регистрация: 08.02.2013
Сообщений: 621
23.02.2016, 23:36
Конвертирует в ushort значение (num & 0xFFFE)
0
 Аватар для memphis
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 564
23.02.2016, 23:47
Сбрасывает у num младший бит (о чём тонко намекает следующая строка в коде). Т.о. четные значения остаются чётными, а нечетные становятся четными и меньшими на 1.
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
24.02.2016, 00:03
TuM0xA,
Это тоже, что и
C#
1
num = (ushort)(num & ushort.MaxValue-1);
ushort.MaxValue-1 или 0xFFFE - это значение из 16 бит из которых младший равен нулю, остальные единице.
При побитовой конъюнкции если хотя бы один бит равен 0 итоговый бит тоже равен 0. Поэтому в итоге у num-результата все биты кроме младшего не изменяются, а младший становится равным 0.

Т.е. если число нечетное:
1001 (9) &
1110 (0xFFFE)
---------------- =
1010 (8)

Если четное:
0110 (6) &
1110 (0xFFFE)
---------------- =
0110 (6)

Старшие биты не показаны, ибо не важны.
2
 Аватар для checkerroad
0 / 0 / 0
Регистрация: 25.06.2020
Сообщений: 5
25.06.2020, 21:24
1000 (8)

Спасибо за разъяснение. Так бы каждый пример из учебника...
0
0 / 0 / 0
Регистрация: 27.01.2023
Сообщений: 12
29.01.2023, 14:03
Кажется здесь ошибка. (8) в двоичной системе выглядит как "1000", а не "1010".

Тоже сейчас разбираюсь на этот месте.
FFFE это шестнадцатеричный вид числа 65534 в десятичном виде, или в двоичном: 1111111111111110.

В C# шестнадцатеричные литералы должны начинаться с символов «0x«.
Если в код вместо 0xFFFE написать 65534, то всё работает аналогично. А вот если написать 1111111111111110 то не работает...
Почему? C# при объявлении типа ushort воспринимает только шестнадцатеричный и десятичный вид?
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3439 / 2759 / 575
Регистрация: 04.09.2018
Сообщений: 8,685
Записей в блоге: 3
29.01.2023, 14:32
Цитата Сообщение от Oleg1302 Посмотреть сообщение
если написать 1111111111111110
C#
1
0b1111111111111110
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2023, 14:32
Помогаю со студенческими работами здесь

Что делает строка кода Random.Next(5)
Подскажите, что делает данный метод? public Random Randomizer; Randomizer.Next(5); Думал что он генерирует какое то int значение,...

что и как делает эта строка ciphertext = ciphertext + (char) (str[i] ^ key);?
вот код: /* В этой реализации интерфейса ICipher используется побитовая обработка и ключ. */ class BitCipher : ICipher { ushort...

Что делает эта строка кода
a(i,j)= INT(RND*21-10) Что значит данный оператор и какую функцию он выполняет в матрице? я так понял что это интервал,...

Почему Для num = 999999999, num * 10 = 2147483647 ?
Кто-нибудь объясните , пожалуйста. Почему при VAR num: integer; Для num = 999999999; num * 10 = 1410065398 ?

Объясните пожалуйста, что делает строка кода? (внутри)
Учусь писать на яве, накопал в инете пример сорса ползунка. Можете объяснить, что делают эти две строки? JSlider source = (JSlider)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru