Техник
317 / 175 / 27
Регистрация: 09.10.2009
Сообщений: 3,105
1

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

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

Всем привет, подскажите пожалуйста, как определить младший и старший байт от 10-го числа типа 20250 ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2013, 11:38
Ответы с готовыми решениями:

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

Вывести целые числа от 2 до n, для которых значение младшего байта меньше значения старшего в двоичном представлении
Подскажите пожалуйста, как реализовать такую программу на С или на С++, которая находит все целые...

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

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

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

Добавлено через 1 минуту
Цитата Сообщение от Убежденный Посмотреть сообщение
sizeof (unsigned char) == 8.
sizeof всё таки возвращает размер в байтах К тому же что char он должен быть по определению 1.
1
Ушел с форума
Эксперт С++
16450 / 7414 / 1186
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
12.11.2013, 12:46 13
Цитата Сообщение от Tulosba Посмотреть сообщение
sizeof всё таки возвращает размер в байтах
Да, конечно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2013, 12:46
Помогаю со студенческими работами здесь

Заменить числа произведением их старшего и младшего слова _asm
В памяти заданный массив из 10-ти элементов. Заменить эти числа произведением их старшего и...

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru