Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поразрядные операции. 
V
    Опции темы
LeD4eG
Дата 15.10.2009, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



у меня имеется два числа: а = 1000 и с = 10111 (двоичная система счисления).

надо вычислить a & c, a|c, a ^ c.

в этих операциях а и с сравниваются побитово. каким числом будет расширено а?
я так думаю, что 0....я прав?
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
azesmcar
Дата 15.10.2009, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(LeD4eG @  15.10.2009,  21:04 Найти цитируемый пост)
каким числом будет расширено а?

чего?

Цитата(LeD4eG @  15.10.2009,  21:04 Найти цитируемый пост)
надо вычислить a & c, a|c, a ^ c.

надо? вычисляй.
00001000 - a
00010111 - c
---------------
00000000 - a & c

00001000 - a
00010111 - c
---------------
00011111 - a | c

00001000 - a
00010111 - c
---------------
00011111 - a ^ c

PM   Вверх
LeD4eG
Дата 15.10.2009, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



в а представлено четырьмя битами, с - пятью. пятый бит в а будет 0, или 1?

Это сообщение отредактировал(а) LeD4eG - 15.10.2009, 22:02
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
Nikituki
Дата 15.10.2009, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 15.10.2009

Репутация: нет
Всего: нет



Оба числа дополнятся до байта путем добавления 0
PM MAIL   Вверх
LeD4eG
Дата 19.10.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



а при использовании signed переменных знак записывается в первый бит?а как он представляется 0 или 1?
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
azesmcar
Дата 19.10.2009, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



PM   Вверх
LeD4eG
Дата 19.10.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



не, не то.
если у нас есть signed int a = -49, то двоичное представление этого числа будет (0)0110001 или (1)0110001.

*в скобках обозначен бит, содержащий знак числа.
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
bsa
Дата 19.10.2009, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



-49 = 11001111

вычисляется так:
переводим модуль числа (без знака) в двоичную форму: 00110001
затем делаем инверсию: 11001110
затем добавляем 1: 11001111

Проверяем сложением:
Код
 00110001
+
 11001111
-----------
100000000

старший бит теряется, поэтому получается 0.
PM   Вверх
LeD4eG
Дата 19.10.2009, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



хорошо. попробуем с числом -8
двоичная форма модуля: 00001000
инверсия: 11110111
добавление знака: 11110110

правильно?
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
Albor
Дата 19.10.2009, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 2
Всего: 9



Нет, учитывай перенос в старший разряд : 11111000
PM MAIL ICQ   Вверх
LeD4eG
Дата 19.10.2009, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



учёл, спасибо!  smile 
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.2105 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.