Пусть нужно обнулить какой-либо бит в переменной типа byte (например, бит 3). Определим сначала число, содержащее единицы во всех битах, кроме третьего. Максимальное число, которое можно записать в тип byte, равняется 255. Чтобы в нем обнулить третий бит, вычтем из этого числа третью степень числа 2 (255-8=247). Если это число логически умножить на a, то его единицы никак не скажутся на состоянии переменной a, а нуль в третьем бите независимо от значения третьего бита переменной a даст в результате 0. Итак, имеем a:= a and (255-8). Аналогично можно обнулить несколько битов.
Поделитесь своими знаниями, ответьте на вопрос:
3. запишите значение переменной s, полученное в результате работы следующей программы. текст программы на трёх языках программирования. алгоритмический язык бейсик паскаль алг нач цел s, n s : = 5 нц для n от 2 до 4 dnm n, s as integer s = 5 for n = 2 to 4 s = s + (n-1) next n print s var s, n: integer; begin s : = 5; for n : = 2 to 4 do s : = s + (n-1); s : = s + (n-1) кц вывод s кон writeln(s); end. 4. запишите значение переменной y, полученное в результате работы следующей программы. текст программы на трёх языках программирования. алгоритмический язык бейсик паскаль алг нач цел s, n s : = 2 нц для n от 2 до 5 s : = s*2 + n кц вывод s кон dnm n, s as integer s = 2 for n = 2 to 5 s = s*2 + n next n print s var s, n: integer; begin s : = 2; for n : = 2 to 5 do s : = s*2 + n; writeln(s); end. 5. запишите значение переменной t, полученное в результате работы следующей программы. текст программы на трёх языках программирования. алгоритмический язык бейсик паскаль алг нач цел t, i t : = 1 нц для i от 1 до 4 t : = t * i кц вывод t кон dim i, t as integer t = 1 for i = 1 to 4 t = t * i next i print t var t, i: integer; begin t : = 1; for i : = 1 to 4 do t : = t * i; writeln(t); end
2) ответ: 73
3) ответ: 24