заставил Бендера
|
|
1 | |
Побитовые операции, работа с шестнадцатеричной записью27.03.2011, 21:21. Показов 7587. Ответов 26
Метки нет (Все метки)
Добрый вечер. Цель лабы обработка числовой информации, работа с побитовыми операциями.
Сама задача: Дано длинное целое неотрицательное число. Заменить каждую цифру F в шестнадцатеричной записи этого числа цифрой 7. Что прошу: собственно помощь в выполнении, алгоритм или кусок кода - кто чем поможет. PS: функции использовать нельзя..
0
|
27.03.2011, 21:21 | |
Ответы с готовыми решениями:
26
работа с записью числа в шестнадцатеричной сс Определить является ли текст шестнадцатеричной записью числа, кратного 5 Определить, является ли текст шестнадцатеричной записью числа, кратного 5 (Pascal -> C++) Определить, является ли текст шестнадцатеричной записью числа, кратного 5 (перевод с Pascal) |
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
|
||||||
28.03.2011, 09:24 | 2 | |||||
1
|
заставил Бендера
|
||||||
28.03.2011, 21:23 [ТС] | 3 | |||||
odip, человек вводит число в десятичном представлении.. в этом проблема.
И как
Добавлено через 10 часов 44 минуты какие 7 проверок?
0
|
32 / 32 / 6
Регистрация: 24.02.2011
Сообщений: 126
|
|
28.03.2011, 21:46 | 4 |
ну, возможно, следует в цикле переводить в 16-ю систему счисления, и параллельно строить выходное число, заменяя F на 7
а с побитовыми операциями, начинать с мл. разряда и рассматривать по 4 бита, если они совпадают с 1111 то менять на 0111
0
|
28.03.2011, 22:24 | 6 |
Какая в пень разница, в каком представлении вводят число. В машине оно всегда хранится в двоичном виде и все операции над числами машина проводит в двоичном представлении
По поводу представления чисел почитай Неочевидные ответы на простые вопросы раздел 8, может ясность какая появится
0
|
32 / 32 / 6
Регистрация: 24.02.2011
Сообщений: 126
|
|
28.03.2011, 22:33 | 8 |
например, число 241(F1 в 16-ой) хранится в виде посл-ти битов 11110001. Вы можете применять побитовые операции к этому числу, и получать необходимое
0
|
28.03.2011, 22:58 | 9 | ||||||||||
Неправильно. Ты можешь ввести "17", предполлагая десятичную запись. Можешь ввести "11", предполагая 16-ричную запись. Но в обоих случаях ты введёшь одну и ту же величину и в памяти машина она будет храниться в виде "10001" (в двоичном виде). Ты можешь написать
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
28.03.2011, 23:15 | 10 | |||||
1
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
28.03.2011, 23:32 | 12 |
Evg, ага... мне так нагляднее показалось. семь - это пятнадцать без восьми...
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
29.03.2011, 01:38 | 14 |
Это на одну-то строчку? На самом деле даже и не знаю, что там комментировать... Вроде бы
всё сказано... Суть - нужно обнулить каждый четвёртый бит.
0
|
заставил Бендера
|
|
29.03.2011, 01:40 [ТС] | 15 |
я не понимаю кода "с" ..
мне не понятно что делают ("%i", &n) == 1 ) мне не понятно что это - %#x\nAfter: %#x\n", n, какие то запятые.. хоть бери и синтаксис си учи..
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
29.03.2011, 01:52 | 16 | |||||
да ёпэрэсэтэ
1
|
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
29.03.2011, 11:10 | 19 |
Нет никакой разницы в какой системе вводить число Число - оно вообще не зависит от системы счисления ! Добавлено через 4 минуты easybudda в обоих примерах неправильно решил задачу Задача состоит в том что если цифра F, то заменить ее на 7 А приведенный код например заменяет цифры 8 на 0 Итого в числе будет 8 16-ричных цифр Значит нужно 8 повторить код замены, который я написал в посте #2
1
|
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,168
|
||||||
29.03.2011, 14:10 | 20 | |||||
2
|
29.03.2011, 14:10 | |
29.03.2011, 14:10 | |
Помогаю со студенческими работами здесь
20
Определить для строки b$, является ли она правильной записью целого в шестнадцатеричной системе счисления Побитовые операции Побитовые операции в с++ Побитовые операции Побитовые операции Побитовые операции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |