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

Циклический сдвиг битов 2 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отслеживание нажатия клавиш http://www.cyberforum.ru/cpp-beginners/thread66091.html
Помогите решить Напишите программу, печатающие коды, генерируемые при нажатии любой клавиши или комбинации клавиш. Используйте функцию getch () (заголовочный файл conio.h). Данная функция трактует...
C++ Найти след матрицы, суммируя элементы одномерного массива Для заданной квадратной матрицы сформировать одномерный массив из её диагональных элементов. Найти след матрицы, суммируя элементы одномерного массива. Преобразовать исходную матрицу по правилу:... http://www.cyberforum.ru/cpp-beginners/thread66085.html
Вычисление выражений C++
Помогите пожалуйста разобраться с следующей задачей. Написать это нужно на языке Си (Linux). Необходимо выполнить вычисление трех выражений. Вычисление выполняется до тех пор, пока очередное...
Перевод числа в строку C++
Помогите пожалуйста решить задачу по программированию. Напишите функцию itox (int n, char s), которая переводит целое n в строку s, представляющее число n в шестнадцатеричном виде.
C++ Символьные массивы и их друзья http://www.cyberforum.ru/cpp-beginners/thread66079.html
Доброе время суток. Сразу хочу оговориться, что задача, условие которой я напишу далее, не связана с заданием в институте - я делаю это исключительно для себя и только для саморазвития. Я поставил...
C++ Определить номер первого из столбцов матрицы, содержащих хотя бы один нулевой элемент Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент помогите пожалуйста решить задачу!!! На языке C заранее спасибо!!!)) подробнее

Показать сообщение отдельно
nikitasnv777
2 / 2 / 0
Регистрация: 22.11.2009
Сообщений: 61
22.11.2009, 14:06  [ТС]
Сделал таким образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
unsigned char sdvig_bita_vlevo (unsigned char arg, int n)
{
int bitsize;
unsigned char hi;
bitsize = 6; // битовый размер типа
hi =  (arg >> (bitsize - n)) & ((1 << n) - 1); // Вырезаем старшие n бит
return (arg << n) | hi; //or'ом записываем туда вырезанную старшую часть
}
   
unsigned char sdvig_bita_vpravo (unsigned char arg, int n)
{
int bitsize;
bitsize = 6; // битовый размер типа
return sdvig_bita_vlevo (arg, bitsize - n);
}
Но есть проблема! Едденица и перекидывается и остаётся, тоесть вместо 000001 получается 100001
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru