Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Catherine-
0 / 0 / 0
Регистрация: 18.02.2013
Сообщений: 5
#1

Определить количество ведущих нулей старшего байта short int - C++

18.02.2013, 12:24. Просмотров 767. Ответов 5
Метки нет (Все метки)

Представить программу, позволяющую для заданного целочисленного объекта short int определить количество ведущих нулей старшего его байта
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2013, 12:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить количество ведущих нулей старшего байта short int (C++):

Программа, определяющая для заданного целочисленного объекта определить количество ведущих единиц старшего его байта - C++
Здравствуйте, помогите, пожалуйста, выполнить задачу. Нужна программа, позволяющая для заданного целочисленного объекта (int) определить...

Для (short int) выполнить перестановку младшей и старшей тетрад его младшего байта - C++
Представить программу, позволяющую для заданного целочисленного объекта (short int) выполнить перестановку младшей и старшей тетрад его...

программа,позволяющая для заданного целочисленного объекта (int) определить количество ведущих единиц младшей его тетрады - C++
огрооомная просьба помочь: Представить программу, позволяющую для заданного целочисленного объекта (int) определить количество ведущих...

Определить количество ведущих единиц - C++
здарвствуйте все! помогите пожалуйста с заданиями по мере возможностей: 1) представить программу, позволяющую для заданного...

Определение младшего и старшего байта - C++
Всем привет, подскажите пожалуйста, как определить младший и старший байт от 10-го числа типа 20250 ?

Функция нахождения старшего и младшего байта - C++
Доброго всем времени суток. Требуется найти функцию аналогичную функции Lo (функция) Возвращает младший байт аргумента. Объявление...

5
avfed
15 / 13 / 2
Регистрация: 24.01.2013
Сообщений: 23
18.02.2013, 13:08 #2
для беззнакового по идее получится так, для знакового насколько я понимаю будут не ведущие 0, а 1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
int main()
{
    unsigned short n;
    cout<<"Enter number: ";
    cin>>n;
    unsigned short tmp=n,k;
    int i=0;
    while (tmp)
    {
        tmp/=2;
        i++;
    }
    k=i>8?16-i:8;
    cout<<"Zeros = "<<k<<endl;
    return 0;
}
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
18.02.2013, 13:15 #3
Имеет, к примеру, число 1356. В двоичной системе - 0000010101001100.
Берем старший байт: 00000101
Считаем количество нулей до единицы: 00000101
Получаем пять. Так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <bitset>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "");
    short int val=1356;
    bitset<16> bits(val);
    cout<<bits.to_string()<<endl;
    int null_count(0);
 
    for (size_t i = 15; i!=7; i--)
        if (!bits.test(i))
            null_count++;
        else break;
    cout<<"Ведущих нулевых битов старшего байта "<<null_count;
 
    return 0;
}
0
Catherine-
0 / 0 / 0
Регистрация: 18.02.2013
Сообщений: 5
18.02.2013, 13:25  [ТС] #4
Oliver, a для любого числа?
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
18.02.2013, 13:31 #5
Catherine-, меняете:
C++
1
2
    
short int val=1356;
или вводите с клавиатуры, как хотите.

Для long int, к примеру, будет так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <bitset>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "");
    long int val=5294967295;
    bitset<64> bits(val);
    cout<<bits.to_string()<<endl;
    int null_count(0);
 
    for (size_t i = 63; i!=55; i--)
        if (!bits.test(i))
            null_count++;
        else break;
    cout<<"Ведущих нулевых битов старшего байта "<<null_count;
 
    return 0;
}
0
Catherine-
0 / 0 / 0
Регистрация: 18.02.2013
Сообщений: 5
25.02.2013, 13:05  [ТС] #6
скажите, а как решитоь ту же задачу но с помощью функций?
0
25.02.2013, 13:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2013, 13:05
Привет! Вот еще темы с ответами:

В чем разница между long int и short int - C++
Извините если вопрос нубский, но я ни как не могу понять смысл long int и short int. Например с unsingned все ясно. Один байт в int...

Разница int, short, unsigned int, unsigned short - C++
Есть например цикл который проходит по массиву в котором 100 элементов. В чем практическая выгода и разница в истоьзовании типов short,...

Определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах - C++
#include &lt;iostream&gt; #include&lt;conio.h&gt; main() { setlocale(LC_ALL, &quot;Russian&quot;); int N,digit = 0; int count = 0; std::...

Определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах - C++
Дано натуральное число N (N &gt; 9). Определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах. Пример. N = 10 025...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.