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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.75
DenProx
Техник
310 / 168 / 5
Регистрация: 09.10.2009
Сообщений: 3,048
#1

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

12.11.2013, 11:38. Просмотров 4723. Ответов 12
Метки нет (Все метки)

Всем привет, подскажите пожалуйста, как определить младший и старший байт от 10-го числа типа 20250 ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 11:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определение младшего и старшего байта (C++):

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

Сумма младшего и старшего разряда - C++
Напишите программу, считающую сумму старшего и младшего разряда заданного с клавиатуры целого числа. C++

Вывести цифры младшего и старшего разряда - C++
Условие: Написать программу. Дано n-значное число longint. Провести с ним действия согласно номеру варианта ( 17 ). Вывести только...

Дано n-значное число longint. Вывести цифры младшего и старшего разряда - C++
Написать программу. Дано n-значное число longint. Провести с ним действия согласно номеру варианта ( 17 ). Вывести только цифры самого...

Разработать функцию, меняющую местами содержимое старшего и младшего байтов каждого элемента матрицы - C++
Помогите, пожалуйста. Нужно разработать функцию, которая меняет местами содержимое старшего и младшего байтов каждого элемента двумерного...

Напишите программу, считающую сумму старшего и младшего разряда заданного с клавиатуры целого числа. - C++
Напишите программу, считающую сумму старшего и младшего разряда заданного с клавиатуры целого числа.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
12.11.2013, 11:42 #2
Разделить на 256. Получится старший байт, а младший - в остатке.
0
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;
0
DenProx
Техник
310 / 168 / 5
Регистрация: 09.10.2009
Сообщений: 3,048
12.11.2013, 12:06  [ТС] #4
Rivory, у меня щас нет под рукой компилятора, не подскажете какой результат выдает данный пример для чисел: 19077 и 20250 ?
0
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
12.11.2013, 12:09 #5
20250:
1010
0100
19077:
0101
0100
0
Миниатюры
Определение младшего и старшего байта  
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
12.11.2013, 12:24 #6
Rivory, по-Вашему, это правильный результат ?
0
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;
Вот так, наверное?
0
DenProx
Техник
310 / 168 / 5
Регистрация: 09.10.2009
Сообщений: 3,048
12.11.2013, 12:28  [ТС] #8
у меня немного другие значения ... для числа 19077 - старший 74, а младший 133. Нужно в таком же виде, только для числа 20250
0
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 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
1
DenProx
Техник
310 / 168 / 5
Регистрация: 09.10.2009
Сообщений: 3,048
12.11.2013, 12:36  [ТС] #10
Убежденный, О) Вот то что мне нужно!)) Спасибо!!
0
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
12.11.2013, 12:37 #11
P.S. Дополнительно не мешало бы вставить проверки, что
sizeof (unsigned short) == 16 и что sizeof (unsigned char) == 8.
1
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
12.11.2013, 12:41 #12
DenProx, если вам нужен только результат, то 79 и 26. Вы точно техник?

Добавлено через 1 минуту
Цитата Сообщение от Убежденный Посмотреть сообщение
sizeof (unsigned char) == 8.
sizeof всё таки возвращает размер в байтах К тому же что char он должен быть по определению 1.
1
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
12.11.2013, 12:46 #13
Цитата Сообщение от Tulosba Посмотреть сообщение
sizeof всё таки возвращает размер в байтах
Да, конечно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2013, 12:46
Привет! Вот еще темы с ответами:

Зеркально поменять местами разряды младшего байта каждого числа - C++
Добрый день. Помогите пожалуйста решить задачу, весьма срочно, родина вас не забудет друзья) Задача: Зеркально поменять местами разряды...

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

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

Число. Вывести только цифры самого младшего и самого старшего разряда - C++
Дано n-значное целое число введеное с клавиатуры. Вывести только цифры самого младшего и самого старшего разряда.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.11.2013, 12:46
Ответ Создать тему
Опции темы

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