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

Вывести шестнадцатеричное представление байта - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Banderulez
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 8
21.10.2010, 00:22     Вывести шестнадцатеричное представление байта #1
Ребят помогите в данном задании:
Вывести шестнадцатеричное представление байта!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2010, 00:22     Вывести шестнадцатеричное представление байта
Посмотрите здесь:

перевернуть шестнадцатеричное число oxА28Е C++
Вывести на экран шестнадцатеричное представление натурального числа C++
Используя битовые операции, вывести на экран восьмиричное представление беззнакового короткогоцелого C++
Unsigned long (Найти шестнадцатеричное представление числа) C++
перевод десятичного числа в шестнадцатеричное C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Manjak
 Аватар для Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
21.10.2010, 00:53     Вывести шестнадцатеричное представление байта #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    char smb = 16;
    cout << hex << (smb & 255) << endl;
    system("pause");
    return EXIT_SUCCESS;
}
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
21.10.2010, 14:22     Вывести шестнадцатеричное представление байта #3
А можно еще так
C
1
2
  unsigned char smb;
  printf(("%x\n", smb);
Banderulez
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 8
21.10.2010, 20:14  [ТС]     Вывести шестнадцатеричное представление байта #4
Спасибо большое! Ну первый вариант я так понимаю на С, забыл указать на С++!
Manjak
 Аватар для Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
21.10.2010, 21:15     Вывести шестнадцатеричное представление байта #5
Если первый вариант на С, то я испанский летчик
Banderulez
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 8
21.10.2010, 21:17  [ТС]     Вывести шестнадцатеричное представление байта #6
харош стебаться )))))))))))))))) я еще только учусь )))))))))))
Manjak
 Аватар для Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
21.10.2010, 21:44     Вывести шестнадцатеричное представление байта #7
В блоке же указывается "Код С++"
Banderulez
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 8
26.10.2010, 18:52  [ТС]     Вывести шестнадцатеричное представление байта #8
В общем дело обстоит так ... мне надо сделать это через сравнение ... что то вроде:
C++
1
2
3
4
5
6
char c;
char b;
b=c;
c>>4;
switch c 
case 0x0F ==0xEO
что то в этом роде и так 16 раз!
Banderulez
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 8
17.11.2010, 08:55  [ТС]     Вывести шестнадцатеричное представление байта #9
Зло решено! Может кому в будущем тоже понадобиться
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "stdio.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
     : TForm(Owner)
{
char a;
char b;
int il,ir;/*il - значения левой части байта,ir - значение правой части байта*/
b=a;/*в b запоминаем а*/
a>>4;/*сдвигаем вправо на 4 разряда*/
char SYM[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};/*
используем массив символов для вывода результата в 16-ой форме*/
switch (a) {  /*проверяем чему равно а и в зависимости от него присваиваем
значение il в десятичной форме*/
case 0x00: il=0; break;
case 0x01: il=1; break;
case 0x02: il=2; break;
case 0x03: il=3; break;
case 0x04: il=4; break;
case 0x05: il=5; break;
case 0x06: il=6; break;
case 0x07: il=7; break;
case 0x08: il=8; break;
case 0x09: il=9; break;
case 0x0A: il=10;break;
case 0x0B: il=11;break;
case 0x0C: il=12;break;
case 0x0D: il=13;break;
case 0x0E: il=14;break;
case 0x0F: il=15;break;
}
 
a=b; /*возвращаем из b a*/
a<<4; /*теперь сдвиг влево на 4 разряда*/
switch (a) { /*проверяем чему равно а и в зависимости от него присваиваем
значение ir в десятичной форме*/
case 0x00: ir=0; break;
case 0x01: ir=1; break;
case 0x02: ir=2; break;
case 0x03: ir=3; break;
case 0x04: ir=4; break;
case 0x05: ir=5; break;
case 0x06: ir=6; break;
case 0x07: ir=7; break;
case 0x08: ir=8; break;
case 0x09: ir=9; break;
case 0x0A: ir=10;break;
case 0x0B: ir=11;break;
case 0x0C: ir=12;break;
case 0x0D: ir=13;break;
case 0x0E: ir=14;break;
case 0x0F: ir=15;break;
}
Edit1->Text=SYM[il]+SYM[ir]; /*выводи результат*/
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2010, 13:08     Вывести шестнадцатеричное представление байта
Еще ссылки по теме:

C++ Необходимо вывести двоичное представление числа на экран.
Вывести 4 байта информации о времени в удобочитаемом формате C++
Битовое представление каждого байта C++

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

Или воспользуйтесь поиском по форуму:
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
17.11.2010, 13:08     Вывести шестнадцатеричное представление байта #10
unsigned char надо юзать

сделай case для 0xFF, а потом a приравняй к 0xFF и посмотри, как оно сработает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
int main(void)
{
    char c = 0xFF;
    
    switch (c) {
    case 0xFF:
        cout << "ok" << endl;
        break;
    }
    
    return 0;
}
Код
[guest@localhost tests]$ g++ t.cpp -o t
t.cpp: In function ‘int main()’:
t.cpp:11: предупреждение: значение с больше чем максимальное значение данного типа
[guest@localhost tests]$ ./t
[guest@localhost tests]$
Yandex
Объявления
17.11.2010, 13:08     Вывести шестнадцатеричное представление байта
Ответ Создать тему
Опции темы

Текущее время: 01:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru