|  подсчет количества значащих нулей и единиц в двоичной записи числа | 
 ПРАВИЛА РАЗДЕЛА!!!
 ПРАВИЛА РАЗДЕЛА!!!1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE] 
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали! 
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
 
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
|   | 
|  подсчет количества значащих нулей и единиц в двоичной записи числа | 
| marwell |    22.05.2012 16:37 
				 Сообщение
					#1				
			 | 
| Бывалый    Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация:  1    | доброго дня необходимо подсчитать количество нулей и единиц в двоичной записи числа .model small ; Модель памяти считает неправильно, хотя вроде логически правильно понимаю задачу. Буду рад помощи P.S. с ассемблером еще только знакомлюсь | 
| IUnknown |  22.05.2012 18:04 
				 Сообщение
					#2				
			 | 
|  a.k.a. volvo877      Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация:  627    | Очень сложно ты это все делаешь. Смотри: .model small ; Модель памяти | 
| marwell |  22.05.2012 18:16 
				 Сообщение
					#3				
			 | 
| Бывалый    Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация:  1    | Очень сложно ты это все делаешь. Смотри: .model small ; Модель памяти спасибо большое! а вообще сама идея того как я пытался сделать, она верная? | 
| IUnknown |  22.05.2012 20:06 
				 Сообщение
					#4				
			 | 
|  a.k.a. volvo877      Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация:  627    | Цитата а вообще сама идея того как я пытался сделать, она верная?Не совсем. Цитата mov ax, result  | 
| TarasBer |  23.05.2012 11:59 
				 Сообщение
					#5				
			 | 
|  Злостный любитель      Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация:  62    | А разве нет готовой команды для определения кол-ва битов? Что-то из серии bsf, bsr -------------------- | 
| IUnknown |  23.05.2012 12:26 
				 Сообщение
					#6				
			 | 
|  a.k.a. volvo877      Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация:  627    | BSF/BSR просто находят первый установленный бит (слева или справа, соответственно). Можно, конечно, заморочиться с этими командами, и сдвигать AX не на 1 бит каждый раз, а если есть несколько подряд идущих нулей - пропускать их сразу. Если у тебя число типа 1000011 - выиграешь несколько тактов (может быть. А может и проиграешь). | 
| marwell |  23.05.2012 17:41 
				 Сообщение
					#7				
			 | 
| Бывалый    Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация:  1    | Не совсем. Сравниваешь AX с 1? А почему там должна быть 1-ца, если, скажем, BX = 00010000b. Сравнивать надо с 0, и если AX != 0 - значит, тот бит AX, в котором сейчас в BX находится 1-ца, тоже выставлен в 1. А если AX = 0 - значит, соответствующий бит сброшен. Понимаешь логику?  теперь да, понимаю. Спасибо Примерно то же и я имел ввиду | 
|   | 
|   | Текстовая версия | 1.11.2025 0:46 |