|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
02.03.2008, 13:55 | #1 |
Регистрация: 01.03.2008
Сообщений: 7
|
язык Си, задача - переводим в 16-й код, старшие три бита интерпретируем как некое число n
Добрый день, вечер, утро!!!
Нужно написать вот такую задачу на С Вводим число, переводим в 16-й код, старшие три бита интерпретируем как некое число n , все остальные разряды сдвинуть циклически вправо на n разрядов, вывод в 16-ом коде. Я тут немного накидал, но неуверен, помогите!!! #include <stdio.h> main() { unsigned x; int i; scanf ("%x",& x); for(i=1; i= 8*sizeof x; i++) { int i=x&0xE0000000; unsigned int src = xxx; unsigned int n = src >> 29; unsigned int dst = (src >> n) | (src << (32 - n )); printf ("%x",x); }} |
02.03.2008, 16:23 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
drossel, в чём именно помочь? Что должно выводиться, что такое "xxx", зачем Вы выводите "x" в неизменном виде? Что за "i= 8*sizeof x" в условии цикла? Сформулируйте сначала задачу, как она есть: что ввести, как обработать, что вывести, потом будем думать, что с Вашим кодом делать.
Последний раз редактировалось B_N; 02.03.2008 в 16:48. Причина: Переложил код новым постом. |
02.03.2008, 16:40 | #3 |
Регистрация: 01.03.2008
Сообщений: 7
|
Вводим с клавиатуры десятичное число, переводим в проге 16-ричное, старшие три бита от этого числа интерпретируем как некое число n , все остальные разряды сдвигаем циклически вправо на n разрядов, выводим получившееся число (16-ричное).
#include <stdio.h> main() { unsigned x; int i; scanf ("%x",& x); for(i=1; i= 8*sizeof x; i++) //задаём счётчик пробегаемся бо числу { int i=x&0xE0000000;//берём старшие три бита unsigned int src = xxx; unsigned int shift = src >> 29;//оставшиеся сдвигаем на n с учётом, что unsigned int dst = (src >> shift) | (src << (32 - shift ));//число 4байта printf ("%x",x); }} выше описанное - не является прогой,просто нашёл в книгах , может пригодится |
02.03.2008, 16:48 | #4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Код:
Последний раз редактировалось B_N; 02.03.2008 в 21:24. Причина: Пропустил "=" в 13-й строке, теперь есть |
02.03.2008, 17:01 | #5 |
Регистрация: 01.03.2008
Сообщений: 7
|
B_N, большое спасибо за помощь!!!
|
02.03.2008, 17:24 | #6 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Эх.. drossel, поправьте потом 13-ю строчку, я там нечаянно "=" сначала пропустил.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти и вывести все слова,у котоpых число гласных букв пpевышает число согласных. | Briz | Помощь студентам | 2 | 11.05.2008 00:56 |
Элементы массива и старшие цифры | logistics | Помощь студентам | 4 | 22.04.2008 00:12 |
Число Армстронга. Язык Си. | Bo2nik | Помощь студентам | 3 | 01.04.2008 12:26 |
Замена второго бита в числе | SZR | Помощь студентам | 4 | 25.01.2008 20:16 |
Число N, заменить одну из его цифр, чтобы получилось число, max близкое к некоторой степени двойки | urgu_st | Помощь студентам | 13 | 23.10.2007 09:14 |