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

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

Войти
Регистрация
Восстановить пароль
 
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
#1

Битовые операции и операции смещения языка С - C++

25.11.2013, 12:59. Просмотров 1056. Ответов 2
Метки нет (Все метки)

Доброго времени суток господа,помогите пожалуйста.Есть 2 кода к задаче,первый работает верно(переводит обычные числа в 16-ти ричные),а второй код не переводит обратно(из 16-ти ричных в обычные).Вот прилагаю 2 кода,не могли бы вы мне помочь со вторым кодом..
(1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h>
#include<iostream>
#include<conio.h>
 
using namespace std;
void  main ()
{
    int UnitStateWord;
    char g;
    char s;
    char p;
    unsigned  char n;
    printf("  indefikator  hrypu (0-31) >"); // диапазон  чисел уточнить
    scanf("%d",&g);
    printf("  kod systemu (0-45 )  >");
    scanf("%d",&s);
        printf("   oznaka priviley (0/1) >");
    scanf("%d",&p);
 
    UnitStateWord=((unsigned  char)g&0x1F)<<8;
    UnitStateWord|=((unsigned  char)s&0xF)<<4;
    UnitStateWord|=((unsigned  char)p&1)<<3;
    
    printf("\n slovo stany =%04x \n",UnitStateWord);
    getch();
}
(2)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<stdio.h>
#include<iostream>
#include<conio.h>
 
using namespace std;
void  main ()
{
    int UnitStateWord;
    char g;
    char s;
    char p;
    char t;
 
    unsigned  char n;
    printf("Slovo stany >");
    scanf("%d",&t);
    printf("  indefikator  hrypu (0-31) >"); // диапазон  чисел уточнить
    scanf("%d",&g);
    printf("  kod systemu (0-45 )  >");
    scanf("%d",&s);
        printf("   oznaka priviley (0/1) >");
    scanf("%d",&p);
 
    g=(UnitStateWord>>8)&0x1F;
    s=(UnitStateWord>>4)&0xF;
    p=(UnitStateWord>>3)&1;
    
    
    
    printf("\n slovo stany =%d\n",t);
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2013, 12:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Битовые операции и операции смещения языка С (C++):

Битовые операции, битовые поля. - C++
Здравствуйте! Еслть 4 диапазона чисел: 0-100, 0-100, 0-6000, 0-3. Сделать в виде битовых операций. Записать в unsigned int. Использовать...

Битовые операции - C++
Всем привет! Помогите решить интересную задачу! Нужно ниже указный код переписать без условных операторов используя только битовые операции...

Битовые операции - C++
Здравствуйте! нужно решить задачу: в целом числе заменить младший бит старшего байта на 1 решается ли это битовыми сдвигами? и...

Битовые операции - C++
#include&lt;iostream&gt; #include&lt;climits&gt; int main() { unsigned int a = UINT_MAX; unsigned short b = USHRT_MAX; std::cout &lt;&lt;...

Битовые операции - C++
Здраствуйте, помогите, пожалуйста! Надо написать три функции, используя только битовые (для первых двух) и только битовые и...

Битовые операции - C++
Приветствую! Изучаю C++, не могу освоить битовые операции (перемещение, исключающие или, инвертирование всякое). Просто не понимаю...

2
Kuzia domovenok
1957 / 1810 / 142
Регистрация: 25.03.2012
Сообщений: 6,274
Записей в блоге: 1
25.11.2013, 13:32 #2
scanf("%x"......
0
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
25.11.2013, 21:59  [ТС] #3
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
scanf("%x"......
Это его в какой строке писать?))

Добавлено через 5 часов 39 минут
Не могли бы Вы мне написать в готовом виде 2й код пожалуйста,ато я дуб-дубом в этом деле...

Добавлено через 2 часа 35 минут
Пожалуйста,очень нужно...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2013, 21:59
Привет! Вот еще темы с ответами:

Битовые операции - C++
Есть число в двоичной системе, например &quot;01000001&quot;, рядом с единицами надо заменить нули на единички! то есть должно получится например...

Битовые операции. - C++
подскажите пожалуйста как сделать обратное преобразование после выполнения такого кода st=1; st = (st &gt;&gt; 16) &amp; 0x7fff; как...

Битовые операции - C++
Дано задание : Ввести последовательность из 8-ми символов. Если сумма единиц в представлении символа нечетная, то заменить 2 старших бита...

Битовые операции - C++
Не могу разобраться с 4 заданием Реализовал пятое но не в одну строчку и без понятия как сделать в одну П.5.18.Правил Запрещено...


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

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

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