Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
4 / 4 / 0
Регистрация: 07.09.2009
Сообщений: 190

Битовый уровень

30.11.2009, 15:58. Показов 1363. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сейчас в университете гоняют по задача для выполнения битовых операции и структурных операторов на битовом уровне, но я не сильно понимаю. Вот что я имею виду задача для примера:
Показать на битовом уровне, определить является число число N кратное 16, в обычном случае понятно что такое кратное число
Решение: iA тут какое нибудь число
void main()
Code
1
2
3
4
5
6
7
8
9
10
{
int iA,iB,i,x=0,F;
for(i=0;i<4;i++)
  {
       iB=iA&(1<<i);
       if(iB=0) x++;
  }
if(x=4) F=1;
else F=0;
}
Решение не я составил, мне показали пример как решить задачу. Дают подобные задачи не обязательно на кратность, с битами в общем. Как работают операции and, or, xor я понимаю, как сдвигаются биты в лево и право, тоже понимаю ну и как они инвертируются соответственно. Можете подсказать что следует почитать на эту тему, что можете посоветовать по решать на эту же тему чтобы немного понять, а то в пятницу уже модульная контрольная и нужно разобраться. Заранее спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2009, 15:58
Ответы с готовыми решениями:

Ежедекадно в течение июня измерялся уровень воды в десяти речках. Определить подекадно: в каких речках наблюдался самый высокий уровень
Ежедекадно в течение июня измерялся уровень воды в десяти речках. Определить подекадно: в каких речках наблюдался самый высокий уровень (и...

Битовый сдвиг в if()
Обясните как работает такой код:void swap(int &amp;a, int &amp;b) { int temp = a; a = b; b = temp; } void...

Битовый сдвиг
Вот в чем вопрос: int x = 2; int y; y = (x &gt;&gt; 32); cout &lt;&lt; x &lt;&lt; &quot; &quot; &lt;&lt; y; Должен быть выход 2 0, а на экран...

2
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
30.11.2009, 16:57
Цитата Сообщение от ArniLand Посмотреть сообщение
Показать на битовом уровне, определить является число число N кратное 16
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define ARR_SIZ 20
 
/* определение чисел, кратных 16 */
 
int main(void){
    int arr[ARR_SIZ];
    size_t i;
    
    srand(time(NULL));
    
    for ( i = 0; i < ARR_SIZ; i++ )
        arr[i] = rand() % 320 + 1;
    
    for ( i = 0; i < ARR_SIZ; i++ )
        printf("%03d %s\n", arr[i], ( arr[i] & ~(~0 << 4) ) ? " не кратно 16" : " кратно 16");
    
    return 0;
}
0
4 / 4 / 0
Регистрация: 07.09.2009
Сообщений: 190
30.11.2009, 18:20  [ТС]
а что можно почитать по битовому уровню, чтобы понять как писать исходный код задачки с битами, а то не всегда понятно как они отображаются в коде?

Цитата Сообщение от easybudda Посмотреть сообщение
int arr[ARR_SIZ];
это насколько я понял массив? Мы еще не учили массивы, поэтому нам преподаватель скажет вы не знаете еще такого слова и нельзя использовать его. Также нельзя вывод на экран использовать потому что не учили его
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2009, 18:20
Помогаю со студенческими работами здесь

Битовый сдвиг
скажем так, дан массив из 4-х элементов (1100) , нужно выполнить сдвиг влево/вправо на 2 бита. у меня выводит (0000), как это...

Битовый сдвиг влево
Спомощью цикла for и битового сдвига влево вывести степень двойки от 4 до 1024 в целом та 16-нам форматах

Строка -> Битовый вектор
Вновь обращаюсь за помощью. Реализовал на C++ алгоритм блочного шифрования (SDES), использующий на входе битовые векторы длиной 8 бит. Так...

Не понимаю битовый сдвиг
int k; // переменная k -целая k=32;// k приравнивается к 32 k= k &lt;&lt; 4 &gt;&gt; 3; // ? а эта строка?? Объясните пожалуйста...

Битовый сдвиг массива
Помогите разобраться с сдвигом влево (выравниванием до начала байта) данных. Задача заключается в том что есть некий массив, в котором...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru