0 / 0 / 1
Регистрация: 06.04.2015
Сообщений: 5
|
||||||
1 | ||||||
Умножение двоичных чисел в дополнительном коде06.04.2015, 21:38. Просмотров 2355. Ответов 11
Метки нет Все метки)
(
Нужно написать программу для умножения двоичных чисел в дополнительном коде, чтобы каждое действие выводилось на экран(или отдельный файл).
Может, у кого-то есть эта программка или возможно написать? Есть программа с делением в обратном коде, но как под умножение переделать понятия не имею.. Кликните здесь для просмотра всего текста
0
|
|
06.04.2015, 21:38 | |
Сложение (вычитание) двоичных чисел в дополнительном коде |
|
0 / 0 / 1
Регистрация: 06.04.2015
Сообщений: 5
|
|
06.04.2015, 21:45 [ТС] | 2 |
пример выполненной программы деления:
Код
A = 54 B = 33 Прямой код: A=0|000000000110110 B=0|000000000100001 Обратный код: A=0|000000000110110 B=0|000000000100001 -B=1|111111111011110 Деление A на B без восстановления остатка: Z=0|000000000000000 R=0|000000000110110 R:=R-B +1|111111111011110 =0|000000000010101 R>=0-->Z:=Z+1|Z=0|000000000000001 R=0|000000000010101 R:=R-B +1|111111111011110 =1|111111111110011 Результат: Z=0|000000000000001 Результат в прямом коде: Z=0|000000000000001 Результат в десятичной системе счисления: Z=1(частное)
0
|
Модератор
![]() |
||||||
07.04.2015, 07:51 | 3 | |||||
Когда-то делал на форуме для Olven с выводом результата в файл.
1
|
0 / 0 / 1
Регистрация: 06.04.2015
Сообщений: 5
|
|
12.04.2015, 19:24 [ТС] | 4 |
0
|
Модератор
![]() |
||||||
12.04.2015, 21:34 | 5 | |||||
А какая готовая функция перевода символа или строки в число присутствует у PABC.NET?
Можно попробовать написать свою Val
0
|
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 12
|
|
07.05.2017, 15:36 | 7 |
ФедосеевПавел, Большое спасибо что сделал эту программу) Но к сожалению я не могу ее проверить, так как там есть ошибочка. Как ее исправить? Напиши пожалуйста!
0
|
![]() 6375 / 4312 / 4635
Регистрация: 05.06.2014
Сообщений: 21,088
|
||||||
07.05.2017, 20:23 | 8 | |||||
Безо всяких изменений работает в fpc.
Вариант для pabc.net ниже:
1
|
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 12
|
|
07.05.2017, 22:46 | 9 |
ZX Spectrum-128, спасибо за отзывчивость, но к сожалению выводит всё, кроме ответа. А так хочется, чтобы всё получилось)
0
|
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 12
|
|
07.05.2017, 23:19 | 10 |
ZX Spectrum-128, а вот что показывает Log-файл.
Код
-10*-23 1111111111111111111111111111111111111111111111111111111111111111 x 1111111111111111111111111111111111111111111111111111111111111111 -------------------------------- 1111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 0111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111 0000000000000000000000000000000000000000000000000000000000000000 -------------------------------- 0000000000000000000000001111111111111111111111111111111111111111 Result: 230 Etalon: 230
0
|
Модератор
![]() |
|
07.05.2017, 23:41 | 11 |
Володымир, посмотрите справку на числовые типы в PABC.NET. Вам нужно заменить longint на целочисленный знаковый 32-битный тип.
Я-то программу составлял под Turbo/Free Pascal, в которых longint однозначно 32-бита. А в PABC.NET - похоже, 64 бита. Может быть есть тип int32 или sint32.
0
|
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 12
|
|
08.05.2017, 00:14 | 12 |
ФедосеевПавел, ZX Spectrum-128, Большое спасибо вам ребята! Действительно, на FreePascal всё работает, вы меня спасли)
0
|
08.05.2017, 00:14 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Умножение двух двоичных чисел. не используя строки
Представление двоичных положительных и отрицательных чисел в обратном и дополнительном кодах
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |