2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 129
|
||||||
1 | ||||||
Программа перевода целого числа без знака в двоичную систему счисления22.09.2013, 14:36. Показов 3789. Ответов 18
Метки нет (Все метки)
Здравствуйте . Помогите , пожалуйста , реализовать программу перевода целого числа без знака в двоичную систему счисления , при этом выдать результат от младшего байта к старшему .
Объясните , пожалуйста , алгоритм решения . Всё облазил - не пойму , как это всё можно сделать. Вот есть прога , но она выводит от старшего к младшему , а нужно наоборот
0
|
22.09.2013, 14:36 | |
Ответы с готовыми решениями:
18
Программа перевода целого числа без знака в двоичную систему счисления Программа перевода в двоичную систему счисления Функция перевода восьмеричного числа в двоичную систему счисления Перевод целого числа в двоичную систему счисления |
Неэпический
|
|
22.09.2013, 14:40 | 2 |
0
|
2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 129
|
|
22.09.2013, 14:54 [ТС] | 3 |
0
|
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
|
|
22.09.2013, 15:00 | 4 |
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
||||||
22.09.2013, 16:17 | 5 | |||||
1
|
2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 129
|
|
22.09.2013, 16:40 [ТС] | 6 |
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
22.09.2013, 16:50 | 7 |
0
|
2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 129
|
|
22.09.2013, 17:22 [ТС] | 8 |
Извините , виноват. Всё правильно работает .
Если Вам не трудно , можете, пожалуйста , объяснить алгоритм работы программы. Я новичок в С++, поэтому многие моменты пока трудно понять( Что это за displayMask? Почему он = 1 , зачем это нужно? Зачем мы делаем операцию setw(7) ? И что же происходить в цикле ? Что это за условие ? ( от с=1, х не равно 0 , с++) Извините , за такие глупые вопросы , просто хочется разобраться нормально , а не тупо взять прогу .
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
||||||
22.09.2013, 17:31 | 9 | |||||
1
|
2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 129
|
|
22.09.2013, 18:13 [ТС] | 10 |
А что такое displayMask=1 ?
for (c=1; x!=0; c++)- то есть , до конца значения х ? cout << (x & displayMask ); //Выводим значение самого правого бита - а вот это не понятно совсем ; какая суть здесь операции побитового "И" , что щё за правый бит ? x>>=1; // сдвигаем x на один разряд вправо - зачем мы это делаем ??? Извините опять за вопросы.. Добавлено через 20 минут А как сделать , чтобы результат был в виде 2-х байт : сначала младшего , потом старшего? Например , если ввести число 67,то получим результат такой : 01000011 0000000
0
|
Неэпический
|
||||||
22.09.2013, 18:15 | 11 | |||||
Для разнообразия
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
22.09.2013, 18:28 | 12 |
Пример
Исходное число х 0110 Выделяем правый бит побитовым "и" с 0001, получаем 0 сдвигаем х вправо на один бит 0011 Выделяем правый бит побитовым "и" с 0001, получаем 1 снова сдвигаем х вправо на один бит 0001 Выделяем правый бит побитовым "и" с 0001, получаем 1 снова сдвигаем х вправо на один бит 0000 Выделяем правый бит побитовым "и" с 0001, получаем 0 x равно нулю - процесс окончен
0
|
2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 129
|
|
22.09.2013, 18:56 [ТС] | 13 |
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
22.09.2013, 21:08 | 14 |
не просто 1, а 0000000000000000000000000000000000000000000000000000000000000001
Маска выделяет нужный бит. В данном случае самый младший.
0
|
2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 129
|
|
22.09.2013, 23:17 [ТС] | 15 |
А почему именно такое количество нулей? А если я напишу unsigned displayMask=1<<15; - что это будет означать ?
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
23.09.2013, 17:08 | 16 |
Единица будет стоять в 16 разряде (0x00008000 в 16-ичной системе счисления).
В двоичной системе счисления (или 0x00000001 в 16-ичной)
0
|
2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 129
|
|
23.09.2013, 17:33 [ТС] | 17 |
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
23.09.2013, 18:46 | 18 |
unsigned integer для компилятора Visual Studio занимает 4 байта(32 бита).
0
|
Croessmah
|
23.09.2013, 20:24
Программа перевода целого числа без знака в двоичную систему счисления
#19
|
0
|
23.09.2013, 20:24 | |
Перевод целого десятичного числа в двоичную систему счисления составте программу перевода целого числа a, где a>0 в двоичную систему счисления Нужна программа перевода целого числа в двоичную систему исчисления на С++ Builder. Программа перевода десятичного числа в двоичную систему счисления с использования стека Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |