Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.74/38: Рейтинг темы: голосов - 38, средняя оценка - 4.74
DenProx
Техник
311 / 169 / 25
Регистрация: 09.10.2009
Сообщений: 3,069
1

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

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

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

Функция нахождения старшего и младшего байта
Доброго всем времени суток. Требуется найти функцию аналогичную функции Lo...

Сумма младшего и старшего разряда
Напишите программу, считающую сумму старшего и младшего разряда заданного с...

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

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

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

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

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

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

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

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


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

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

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