![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
emrysdrag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 22.12.2014 Репутация: нет Всего: нет |
Помогите исправить программы.
Задание: Вывести однобайтовое целое знаковое число в двоичном коде (в дополнительном, прямом и обратном кодах): А) с использованием операции деления; Б) с использованием двоичной маски - без деления А) #include "stdafx.h" #include <iostream> void func(char N) { int Arr[8]; for (int i = 0; i < 8; i++) Arr[i] = 0; for (int i = 0; N != 0; i++) { Arr[i] = N % 2; N = N / 2; } for (int i = 7; i >= 0; i--) printf("%d", Arr[i]); } int main() { setlocale(LC_ALL, ""); char N = 0; printf("Введите число: "); scanf_s("%c", &N); if (N >= 0) { printf("\nДополнительный код: "); func(N); printf("\nПрямой код: "); func(N); printf("\nОбратный код: "); func(N); printf("\n"); } if ((N<0) && (N >= -127)) { printf("\nДополнительный код: "); for (int j = 7; j >= 0; j--) printf("%d", -(N >> j) % 2); N = N*(-1); printf("\nПрямой код: "); int Arr[8]; for (int i = 0; i < 8; i++) { Arr[i] = 0; } for (int i = 0; N != 0; i++) { Arr[i] = N % 2; N = N / 2; } Arr[7] = 1; for (int i = 7; i >= 0; i--) { printf("%d", Arr[i]); } printf("\nОбратный код: "); printf("%d", Arr[7]); for (int i = 6; i >= 0; i--) { if (Arr[i] == 1) printf("0"); else printf("1"); } printf("\n"); } if ((N == -128)) { printf("\nДополнительный код: "); for (int j = 7; j >= 0; j--) printf("%d", -(N >> j) % 2); printf("\nПрямой код: ---"); printf("\nОбратный код: ---\n"); } return 0; Б) #include "stdafx.h" #include <iostream> void func(char N) { for (int i = 7; i >= 0; i--) printf("%d", (N >> i) & 1); } int main() { setlocale(LC_ALL, ""); char N = 0; printf("Введите число: "); scanf_s("%c", &N); if (N >= 0) { printf("\nДополнительный код: "); func(N); printf("\nПрямой код: "); func(N); printf("\nОбратный код: "); func(N); printf("\n"); } if ((N < 0) && (N >= -127)) { printf("\nДополнительный код: "); for (int j = 7; j >= 0; j--) printf("%d", -(N >> j) & 1); N = N*(-1); printf("\nПрямой код: "); printf("1"); for (int j = 6; j >= 0; j--) printf("%d", (N >> j) & 1); printf("\nОбратный код: "); int Arr[8]; Arr[7] = 1; for (int j = 6; j >= 0; j--) Arr[j] = 0; for (int j = 6; j >= 0; j--) Arr[j] = (N >> j) & 1; for (int j = 6; j >= 0; j--) { if (Arr[j] == 1) printf("0"); else printf("1"); } printf("\n"); } if ((N == -128)) { printf("\nДополнительный код: "); for (int j = 7; j >= 0; j--) printf("%d", -(N >> j) & 1); printf("\nПрямой код: ---"); printf("\nОбратный код: ---\n"); } return 0; } |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: нет Всего: 45 |
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
emrysdrag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 22.12.2014 Репутация: нет Всего: нет |
Не знаю, но эти программы не работают у меня и я не могу найти ошибки
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: нет Всего: 45 |
Какие признаки неработы этих программ? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 2 Всего: 162 |
Для домашних заданий, курсовых, существует "Центр Помощи".
Тема перенесена! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |