Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 07.05.2018
Сообщений: 26
1

Напишите код вывода числа 270 в 18-чной системе счисления

05.06.2018, 00:42. Показов 1079. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напишите код вывода числа 270 в 18-чной системе счисления!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2018, 00:42
Ответы с готовыми решениями:

Ввести число в 10-чной системе счисления, вывести его на экран в 16-чной системе счисления
Вывести на экран число представляющие в 16-чной системе счисления. Число вводится в 10-чной с/с....

Получить представление числа в р-чной системе счисления
Не могу понять задание "Получить представление числа в р-чной системе счисления(р<10). Как...

Найти наибольшую цифру заданного числа в P-чной системе счисления
Дано натуральное число N. Найти наибольшую цифру заданного числа в P-чной системе счисления....

Напишите программу, которая определяет правильность записи целого числа в восьмеричной системе счисления
Напишите программу, которая определяет правильность записи целого числа в восьмеричной системе...

14
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
05.06.2018, 09:47 2
Ничем не отличается от вывода в десятичной системе счисления (показывал вам в одной из предыдущих тем), только для цифр, превышающих 9 нужно использовать буквы.
0
1 / 1 / 0
Регистрация: 07.05.2018
Сообщений: 26
05.06.2018, 10:06  [ТС] 3
ФедосеевПавел, можно ссылку на предыдущую тему?)
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
05.06.2018, 10:31 4
Так у вас их всего 3 или 4...
Я просто по никнейму запомнил.

Добавлено через 3 минуты
Используя один цикл, найти сумму 1!+2!+3!+.+N!
процедура ShowUInt16. только делить нужно на основание системы счисления, а при выводе преобразовывать с учётом того, что символы латинского алфавита располагаются не последовательно с символами цифр - т.е. преобразовывать с использованием if.
Как в одном из примеров по выводу 16-ричных цифр в закреплённой теме
Ввод и вывод чисел в различных системах счисления

Добавлено через 1 минуту
Заодно, для сверки результата - вручную сделайте такое преобразование на бумаге.
0
1 / 1 / 0
Регистрация: 07.05.2018
Сообщений: 26
05.06.2018, 12:02  [ТС] 5
ФедосеевПавел, Вручную то самое простое), а с использованием if ,что то не понятно(
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
05.06.2018, 13:07 6
Assembler
1
2
3
4
5
6
7
cmp dl, 10 ; if dl<10
jae @@ToChar
add dl, '0'   ; then dl:=dl+'0'
jmp @@show
@@ToChar
add dl, 'A'-10   ;else dl:= dl+('A'-10)
@@show:
Добавлено через 1 минуту
Я же указал, что в закреплённой теме для вывода 16-ричных используется именно такая конструкция в одном из примеров. Поищите.
0
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
05.06.2018, 15:56 7
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
add dl, 'A'-10
не проверял, но вроде так не получится.. нужно выполнять вычисление в два действия..
Assembler
1
2
add dl, 'A'
sub dl, 10
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
05.06.2018, 16:00 8
proc3nt,
ТС просит вывод, поэтому, сперва деление на 17, а потом преобразование остатка через XLAT
0
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
05.06.2018, 16:05 9
Mikl___, мельком глянул сообщение [ТС], а опирался только на последнее сообщение модератора в топике..
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
05.06.2018, 16:11 10
proc3nt,
проще вообще вывести строку "FF" ( 270= 15*17+15) через 9 функцию 21h прерывания
1
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
05.06.2018, 16:22 11
ладно, признаю.. наверное, поспешил и ошибся..
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
05.06.2018, 16:46 12
Лучший ответ Сообщение было отмечено ARTIDD как решение

Решение

Пока набирал, понял, что можно слегка уменьшить число переходов, но уже показывал топикстартеру кусок кода - нужно подтвердить его корректность
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
.model small
 
.stack 100h
 
.data
        CrLf            db      0Dh, 0Ah, '$'
        msgPressAnyKey  db      0Dh, 0Ah, 'Press any key to exit...', '$'
 
        N               dw      270
.code
 
main    proc
        ;инициализация сегментного регистра ds адресом сегмента данных
        mov     ax,     @data
        mov     ds,     ax
 
        mov     ax,     [N]
 
        mov     bx,     18
        xor     cx,     cx      ;символов в модуле числа
        @@div:
                xor     dx,     dx
                div     bx
                push    dx
                inc     cx      ;количество цифр в числе
                or      ax,     ax
        jnz     @@div
        mov     ah,     02h
        @@store:
                pop     dx
                cmp     dl,     10
                jae     @@ToChar
                add     dl,     '0'
                jmp     @@show
        @@ToChar:
                add     dl,     'A'-10
        @@show:
                int     21h
        loop    @@store
 
 
        ;ожидание нажатия любой клавиши
        mov     ah,     09h
        lea     dx,     [msgPressAnyKey]
        int     21h
 
        mov     ah,     00h
        int     16h
 
        mov     ax,     4C00h
        int     21h
main    endp
 
end     main
1
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
06.06.2018, 03:29 13
Цитата Сообщение от Mikl___ Посмотреть сообщение
ТС просит вывод, поэтому, сперва деление на 17
Если 18-ричная, то деление на 18. Получаются остатки 0..17.
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
06.06.2018, 03:50 14
Ethereal,
да, я прочитал невнимательно, спасибо за поправку "F0$"
0
Ethereal
06.06.2018, 04:20     Напишите код вывода числа 270 в 18-чной системе счисления
  #15

Не по теме:

Хорошо, что ты здесь :)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2018, 04:20

Напишите программу, которая определяет правильность записи целого числа в шестнадцатеричной системе счисления
Напишите программу, которая определяет правильность записи целого числа в шестнадцатеричной системе...

Напишите программу, которая определяет правильность записи целого числа в шестнадцатеричной системе счисления
(Pascal ABC.Net) №1 Напишите программу, которая определяет правильность записи целого числа в...

Дано целое число X в десятичной системе счисления. Выведите запись числа X в восьмеричной системе счисления
Почему настоящие программисты путают католическое Рождестово и Halloween? Потому что 25 DEC = 31...

Если строка является изображением целого числа в восьмеричной системе счисления, то перевести ее в целое число в двоичной системе счисления
Вводится строка символов. Если она является изображением целого числа в восьмеричной системе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru