0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 13
|
||||||
1 | ||||||
Ввести целое число A и посчитать, сколько единиц в числе с 5 бита по 10 бит, включая эти биты01.11.2016, 19:21. Показов 6139. Ответов 6
УСЛОВИЕ --- Ввести целое число A и посчитать, сколько единиц в числе с 5 бита по 10 бит, включая эти биты.
0
|
|
01.11.2016, 19:21 | |
Ответы с готовыми решениями:
6
Ввести целое число A. Инвертировать все биты с 4 по 8, включая эти биты. Вывести результат Ввести число в битовой форме: 8 бит, старшие биты слева, младшие – справа
Посчитать сколько двоичных единиц содержит каждое число |
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
|
|
01.11.2016, 19:23 | 2 |
Вводишь число, потом создаешь bitset из него и считаешь биты
1
|
7641 / 6448 / 2941
Регистрация: 14.04.2014
Сообщений: 28,116
|
||||||
01.11.2016, 19:26 | 3 | |||||
Где здесь битовые операции?
1
|
![]() 1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
|
|
01.11.2016, 19:33 | 4 |
ошибку искать лень, раз хотите научиться - давайте учиться...
Битовые операции в С++ представлены набором операторов: << - побитовый сдвиг влево; >> побитовый сдвиг вправо. С лева от оператора ставится объект над которым будет производиться сдвиг, с права от оператора - кол-во бит, на которое нужно сдвинуть число. Таким образом, если у нас есть число к примеру 5, что в двоичной системе выглядит как 0101. int i = 5; // переменная целого типа содержащая в себе значение 5 или 101b. теперь, если сделать i << 1; то результат этой операции будет сдвиг влево числа на 1 байт и будет выглядеть как: 1010b; или 10 в десятичной. если же сдвинуть в другую сторону, то получится следующее: i >> 1; результат: 10b (т.е. первый бит "исчезает") и таким образом мы получаем результат в десятичной системе равный 2. Так же из битовых операций есть операторы: & - логическое "И" | - логическое "или" ~ - инверсия (т.е. если у вас есть набор бит: 1010, то применив этот оператор вы получите 0101) ^ - вроде xor (тут не помню) про то, как работают эти операторы, думаю рассказывать не стоит, если стоит - то почитайте булеву алгебру, т.к. в программирование вы тогда рановато подались
2
|
Вездепух
![]() ![]() 11181 / 6124 / 1677
Регистрация: 18.10.2014
Сообщений: 15,422
|
|
01.11.2016, 19:35 | 5 |
* Я не знаю, где (и зачем) вы выкопали некую функцию
_itoa_s , но подозреваю, что эта функция переводит число в строковое представление. Строковое представление числа будет состоять из символов. Поэтому если вы там собраетесь искать бинарные единицы, то искать там надо именно символ '1' , а не целочисленное значение 1 , как у вас в коде.* Отдельно не ясно, почему принимающший массив у вас имеет размер 31. Откуда взялось 31? Тип int обычно имеет ширину 32 бита. А если учесть, что строковое представление еще должно содержать дополнительный '\0' , то буфер для такой строки нужен размера 33.* В задаче сказано проверить биты от 5 до 10. Вы почему-то прверяете биты от 0 до 5. * Число, перведенное в строку при помощи _itoa_s может быть и совсем коротким.
1
|
![]() 1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
|
||||||
01.11.2016, 19:40 | 6 | |||||
![]() Решение
ну и код, так уж и быть... не благодарите (шучу, конечно - благодарите
![]()
* при условии, что мы применили его к 4-х разрядному числу, если разрадов больше, то все нули впереди станут единицами)
1
|
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 13
|
|
01.11.2016, 20:14 [ТС] | 7 |
Все я разобрался, все работает, только что зарегался на форуме и столько ответов.
Спасибо всем большое, очень благодарен .
0
|
01.11.2016, 20:14 | |
01.11.2016, 20:14 | |
Помогаю со студенческими работами здесь
7
Дано масив из 6 байт. Рассматривая его, как масив с 48 бит, посчитать число 2х единиц, что расположены между нулями. Посчитать сколько двоичных единиц содержит каждое число массива.
Напишите программу, которая считывает целое число и определяет, сколько в этом числе цифр 7. C++ Напишите программу, которая считывает целое число и определяет, сколько в этом числе цифр 7 Дан цифровой массив , посчитать сколько двоичных единиц содержит каждое число Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |