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

Дан массив из 10 байт. Посчитать количество байт содержащих ровно три единицы

22.10.2013, 23:56. Показов 2709. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, возникла проблема с решением задачи: "Дан массив из 10 байт. Посчитать количество байт содержащих ровно три единицы."
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2013, 23:56
Ответы с готовыми решениями:

Дан массив из 10 байт. Посчитать количество байт с числом единиц в байте равным три
помогите с задачкой! Дан массив из 10 байт. Посчитать количество байт с числом единиц в байте...

Дан массив из 10 байт. Посчитать количество байт, в которых сброшены 6 и 4 биты
Дан массив из 10 байт. Посчитать количество байт,в которых сброшены 6 и 4 биты. Массив байтов...

Дан массив из 6 байт. Посчитать количество байт число единиц, в которых не превышает 3.
Дан массив из 6 байт. Посчитать количество байт число единиц, в ко- торых не превышает 3. блин...

Дан массив из 11 байт. Посчитать количество байт, в которых нет единиц, стоящих рядом
Дан массив из 11 байт. Посчитать количество байт, в которых нет единиц, стоящих рядом.

10
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
23.10.2013, 03:26 2
snet131,
перечисли числа величиной в байт, которые содержат
Цитата Сообщение от snet131 Посмотреть сообщение
ровно три единицы
0
644 / 148 / 31
Регистрация: 11.02.2013
Сообщений: 277
23.10.2013, 13:40 3
Цитата Сообщение от snet131 Посмотреть сообщение
Здравствуйте, возникла проблема с решением задачи: "Дан массив из 10 байт. Посчитать количество байт содержащих ровно три единицы."
Очень помогает влючить голову, рекомендую.

Хотя бы для приличия, код написал бы, хоть какой-нибуть. За тебя, никто писать код не будет!

Добавлено через 46 минут
snet131
З.Ы. Биты прверяются командой TEST.

Assembler
1
2
3
mov   al, byte [mass]  ; в al байт из массива "mass".
test  al, 100b         ; проверяем 2-й справа бит.
jnz   bitset           ; переход если 2-й справа бит равен 1.
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
23.10.2013, 13:44 4
XiloManX,
Сам себе противоречишь!
Цитата Сообщение от XiloManX Посмотреть сообщение
За тебя, никто писать код не будет!
Долго, долго студента подводишь к мысли, только он начинает писать самостоятельно, как находится "доброхот", который из ХЗ каких побуждений пишет программу за студента и весь твой педагогический эксперимент насмарку
0
644 / 148 / 31
Регистрация: 11.02.2013
Сообщений: 277
23.10.2013, 14:20 5
Цитата Сообщение от Mikl___ Посмотреть сообщение
XiloManX,
Сам себе противоречишь!Долго, долго студента подводишь к мысли, только он начинает писать самостоятельно, как находится "доброхот", который из ХЗ каких побуждений пишет программу за студента и весь твой педагогический эксперимент насмарку
Ну тот код, который я написал, это не весь код, а лишь малюсенькая часть, он не решает всю задачку полностью. Ну может человек не знает, как проверять биты, в байте. Я только дал толчёк в правильном направлении, а дальше пусть думает сам. Так что, тут, противоречия никакого нет.
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 11
23.10.2013, 19:50  [ТС] 6
например : 54 =00101100
23 =00010011
0
644 / 148 / 31
Регистрация: 11.02.2013
Сообщений: 277
23.10.2013, 20:56 7
Цитата Сообщение от snet131 Посмотреть сообщение
например : 54 =00101100
23 =00010011
Во-первых неправильно. Должно быть: 54 = 00110110, 23 = 00010111. Это всё, можно посмотреть в калькуляторе.
Во-вторых, код в студию. Ждёмс...
0
Мотороллер
23.10.2013, 22:00
  #8

Не по теме:

Цитата Сообщение от XiloManX Посмотреть сообщение
Ждёмс
наивный:)

0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 11
23.10.2013, 22:15  [ТС] 9
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
data segment
mas db 12,3,13,254,34,82,234,1,8,0
kol db 0
otvet db ?
data ends
 
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov cx,10
lea bx,mas
xor dx,dx
 deg:
       push cx
       mov al,[bx]
       mov cl,8
beg: 
       test al,1b
       jz nol
       inc kol
nol: shr al,1
       loop beg
       cmp kol,3
       jnz bolshe
       inc dx
bolshe: 
        mov kol,0
        inc bx
        pop cx
        loop deg
mov otvet,dl
quit: mov ax,4c00h
int 21h
code ends
end start
0
644 / 148 / 31
Регистрация: 11.02.2013
Сообщений: 277
23.10.2013, 23:48 10

Не по теме:

Цитата Сообщение от Мотороллер Посмотреть сообщение

Не по теме:


наивный:)

Это, я к слову написал. Я знаю, что он не хочет задание делать сам. И догадываюсь, что он не на одном форуме этот топик размещал, потому как сам бываю на разных форумах и вижу одинаковые темы (слово в слово), тут и там. Возможно кто-нибудь задачку ему решил, или он код скопипи...дил откуда-нибудь (ну, а если сам сделает(л), с моей подсказкой, молодец (я для этого подсказку и дал)(хотя, я лично сильно сомневаюсь, что он сам сделает(л) задачку)). Не придёт с кодом, и не надо. Это его проблемы. Мне от этого, не худо - не бедно.



Добавлено через 1 час 7 минут
snet131
В синтаксесе MASM'а/TASM'а, я не разбираюсь (хотя FASM, такой код компилировать не будет), но вроде всё правильно (не учитывая синтаксис). Если сам написал, то молодеец!
0
644 / 148 / 31
Регистрация: 11.02.2013
Сообщений: 277
24.10.2013, 00:01 11
snet131
Немного модифицировал твой код. Сделал вывод результата на консоль.

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
; компилировать FASM'ом.
 
    use16
    org  100h
 
    mov cx, 10
    lea bx, [mas]
    xor dx, dx
deg:
    push cx
    mov al, [bx] ; number
    mov cl, 8
beg:
    test al, 1b
    jz nol
    inc [kol]
nol: 
    shr al, 1
    loop beg
    cmp [kol], 3
    jnz bolshe
    inc dx
bolshe:
    mov [kol], 0
    inc bx
    pop cx
    loop deg
    add dl, 0x30             ; прнобразуем в ASCII число.
    mov [otvet], dl
quit: 
; вывод строки в текущей позиции курсора.
    mov  ah, 9
    mov  dx, mess
    int  21h
 
; получить код нажатой клавиши.
    mov  ah, 10h
    int  16h
 
    mov ax,4c00h
    int 21h
 
mas   db 12,3,13,254,34,82,234,1,8,0
kol   db 0
mess: db 'Chislo bait sodergashih tri edenitsi: '
otvet db 0,13,10,'$'
Миниатюры
Дан массив из 10 байт. Посчитать количество байт содержащих ровно три единицы  
0
24.10.2013, 00:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2013, 00:01
Помогаю со студенческими работами здесь

Дан массив из 13 байт. Посчитать количество байт содержащих только нули или единицы
ПОЖАЛУЙСТА! РЕШИТЕ ЗАДАЧКИ!!!:) Задача №1 дан массив из 13 байт. посчитать количество байт...

Дан массив из 11 байт. Подсчитать количество байт с нечетным числом 1 в байте
Дан массив из 11 байт. Подсчитать количество байт с нечетным числом 1 в байте.-Assembler помогите...

Дан массив из 5 байт. Рассматривая его как массив из 40 бит посчитать количество нулей
Дан массив из 5 байт. Рассматривая его как массив из 40 бит посчитать количество нулей

Дан массив из 8 байт. Рассматривая его, как массив из 64 бит, посчитать количество единиц
кто может, напишите пожалуйста, с ассемблером беда( 2. Дан массив из 8 байт. Рассматривая его,...


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

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