Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
avfed
15 / 13 / 2
Регистрация: 24.01.2013
Сообщений: 23
18.02.2013, 13:08     Определить количество ведущих нулей старшего байта short int #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;
}
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
18.02.2013, 13:15     Определить количество ведущих нулей старшего байта short int #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;
}
Catherine-
0 / 0 / 0
Регистрация: 18.02.2013
Сообщений: 5
18.02.2013, 13:25  [ТС]     Определить количество ведущих нулей старшего байта short int #4
Oliver, a для любого числа?
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
18.02.2013, 13:31     Определить количество ведущих нулей старшего байта short int #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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2013, 13:05     Определить количество ведущих нулей старшего байта short int
Еще ссылки по теме:

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

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

Определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах - 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::...

Определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах (Pascal -> С++) - C++
Var i: longint; N: integer; begin write('input Nomber, pleeeaaase: '); readln(i); N:= 0; while ((i mod 10) = 0) do ...

short int и short - C++
Какая разница, инициализирую я переменную как short int или же как short ? Вроде и тот, и тот тип данных компилятор понимает :)

short vs int - C++
Зачем в си два типа данных (short, int) с одинаковым диапазоном значений?


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

Или воспользуйтесь поиском по форуму:
Catherine-
0 / 0 / 0
Регистрация: 18.02.2013
Сообщений: 5
25.02.2013, 13:05  [ТС]     Определить количество ведущих нулей старшего байта short int #6
скажите, а как решитоь ту же задачу но с помощью функций?
Yandex
Объявления
25.02.2013, 13:05     Определить количество ведущих нулей старшего байта short int
Ответ Создать тему
Опции темы

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