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

Определение младшего и старшего байта - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.75
DenProx
Техник
 Аватар для DenProx
306 / 164 / 4
Регистрация: 09.10.2009
Сообщений: 3,009
12.11.2013, 11:38     Определение младшего и старшего байта #1
Всем привет, подскажите пожалуйста, как определить младший и старший байт от 10-го числа типа 20250 ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 11:38     Определение младшего и старшего байта
Посмотрите здесь:

Для целого числа А выделить старший байт и поставить его на место младшего байта. старший байт при этом обнулить. C++
C++ Программа, определяющая для заданного целочисленного объекта определить количество ведущих единиц старшего его байта
C++ Определить количество ведущих нулей старшего байта short int
Для (short int) выполнить перестановку младшей и старшей тетрад его младшего байта C++
C++ Напишите программу, считающую сумму старшего и младшего разряда заданного с клавиатуры целого числа.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14219 / 6234 / 988
Регистрация: 02.05.2013
Сообщений: 10,391
Завершенные тесты: 1
12.11.2013, 11:42     Определение младшего и старшего байта #2
Разделить на 256. Получится старший байт, а младший - в остатке.
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
12.11.2013, 11:53     Определение младшего и старшего байта #3
C++
1
2
3
4
5
6
7
8
9
    
#include <bitset>
 
...
 
    std::bitset<4> x(20250);
    std::cout << x << std::endl;
    std::bitset<4> y(20250>>(sizeof(int)*4-4));
    std::cout << y << std::endl;
DenProx
Техник
 Аватар для DenProx
306 / 164 / 4
Регистрация: 09.10.2009
Сообщений: 3,009
12.11.2013, 12:06  [ТС]     Определение младшего и старшего байта #4
Rivory, у меня щас нет под рукой компилятора, не подскажете какой результат выдает данный пример для чисел: 19077 и 20250 ?
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
12.11.2013, 12:09     Определение младшего и старшего байта #5
20250:
1010
0100
19077:
0101
0100
Миниатюры
Определение младшего и старшего байта  
Убежденный
Системный программист
 Аватар для Убежденный
14219 / 6234 / 988
Регистрация: 02.05.2013
Сообщений: 10,391
Завершенные тесты: 1
12.11.2013, 12:24     Определение младшего и старшего байта #6
Rivory, по-Вашему, это правильный результат ?
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
12.11.2013, 12:27     Определение младшего и старшего байта #7
Нет, не правильный.
C++
1
2
3
4
    std::bitset<8> x(20250);
    std::cout << x << std::endl;
    std::bitset<8> y(20250>>(sizeof(int)*4-8));
    std::cout << y << std::endl;
Вот так, наверное?
DenProx
Техник
 Аватар для DenProx
306 / 164 / 4
Регистрация: 09.10.2009
Сообщений: 3,009
12.11.2013, 12:28  [ТС]     Определение младшего и старшего байта #8
у меня немного другие значения ... для числа 19077 - старший 74, а младший 133. Нужно в таком же виде, только для числа 20250
Убежденный
Системный программист
 Аватар для Убежденный
14219 / 6234 / 988
Регистрация: 02.05.2013
Сообщений: 10,391
Завершенные тесты: 1
12.11.2013, 12:35     Определение младшего и старшего байта #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int main()
{
    using namespace std;
 
    unsigned short Number = 19077;
    unsigned char  High   = Number / 256;
    unsigned char  Low    = Number % 256;
 
    cout << "Number: " << Number << endl <<
        "High byte: " << (int)High << endl <<
        "Low byte:  " << (int)Low << endl;
 
    return 0;
}
Number: 19077
High byte: 74
Low byte: 133
Number: 20250
High byte: 79
Low byte: 26
DenProx
Техник
 Аватар для DenProx
306 / 164 / 4
Регистрация: 09.10.2009
Сообщений: 3,009
12.11.2013, 12:36  [ТС]     Определение младшего и старшего байта #10
Убежденный, О) Вот то что мне нужно!)) Спасибо!!
Убежденный
Системный программист
 Аватар для Убежденный
14219 / 6234 / 988
Регистрация: 02.05.2013
Сообщений: 10,391
Завершенные тесты: 1
12.11.2013, 12:37     Определение младшего и старшего байта #11
P.S. Дополнительно не мешало бы вставить проверки, что
sizeof (unsigned short) == 16 и что sizeof (unsigned char) == 8.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.11.2013, 12:41     Определение младшего и старшего байта #12
DenProx, если вам нужен только результат, то 79 и 26. Вы точно техник?

Добавлено через 1 минуту
Цитата Сообщение от Убежденный Посмотреть сообщение
sizeof (unsigned char) == 8.
sizeof всё таки возвращает размер в байтах К тому же что char он должен быть по определению 1.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2013, 12:46     Определение младшего и старшего байта
Еще ссылки по теме:

Сумма младшего и старшего разряда C++
C++ Число. Вывести только цифры самого младшего и самого старшего разряда
C++ Функция нахождения старшего и младшего байта

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

Или воспользуйтесь поиском по форуму:
Убежденный
Системный программист
 Аватар для Убежденный
14219 / 6234 / 988
Регистрация: 02.05.2013
Сообщений: 10,391
Завершенные тесты: 1
12.11.2013, 12:46     Определение младшего и старшего байта #13
Цитата Сообщение от Tulosba Посмотреть сообщение
sizeof всё таки возвращает размер в байтах
Да, конечно.
Yandex
Объявления
12.11.2013, 12:46     Определение младшего и старшего байта
Ответ Создать тему
Опции темы

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