IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача с поразрядными операциями
сообщение
Сообщение #1


Гость






"Пользователем вводится число K. Оно принимает значение от 0 до 255. Используя поразрядные операции определить какие значения принимают I и J разряды. Они изменяются от 0 до 7. Проверку делать на вводе".
Вот такая вот у меня задача. Помогите мне пожалуйста её решить. В принципе, для меня самое сложное - это сделать проверку на вводе. Ну, никак не получается! А как сдвинуть разрялы и их вывести я знаю.
В общем, люди добрые, помогите написать эту программу. Пожалуйста! give_rose.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
определить какие значения принимают I и J разряды



Возможно я ошибаюсь, но мне каежтся тебе нужно это ?


(*
Возврящает true если в A задан бит с номером bit
*)

function BitOnOff(a,bit : byte) : boolean;
begin
BitOnOff := (a and trunc(exp(bit*ln(2)) ) =trunc(exp(bit*ln(2)))) ;
end;



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






klem4, это гораздо проще делается:
{ Нумерация битов справа налево с нулевого по седьмой... }
function BitOnOff(a, bit : byte) : boolean;
begin
BitOnOff := ((a and ($01 shl bit)) <> 0)
end;


-Андрей-
Цитата
для меня самое сложное - это сделать проверку на вводе.
О какой проверке речь?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






У меня задача такая: пользователь вводит число от о до 255. Его надо представить в двоичном коде и вывести из этого числа итый и житый разряди, которые тоже ввёл пользователь. И вот в числе к мне надо знать чему будут равны эти разряди, ну, например 1 и 2, 3 и 7. И вывести, чему они будут равны (нулю или еденицы), в заданном месте.
Вот я только никак не пойму, число само представляется (когда его вводишь) сразу в двоичном коде или его надо ещё переводить? И проверка не получается.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
Вот я только никак не пойму, число само представляется (когда его вводишь) сразу в двоичном коде или его надо ещё переводить? И проверка не получается.


Помойму тебе функцию дали для этого выше ... открой глаза по шире ;)


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






"О какой проверке речь?"

На вводе. То есть мне надо, что если на вводе пользователь введёт не правильно число, то вывести, что он ввёл не правильно, и заставить его повторить его это сделать. Вот к задаётся от о до 255. Разряды от о до 7. smile.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +



repeat
readln(k);
until (k>=0) and (k<=255)




ну и для i по аналогии ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Спасибо, сейчас пойду попробую.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 18.05.2024 14:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name