не нашел ветки, более подходящей для вопроса. Долго ломал голову, но так и не догнал. Нужно поделить 11110 на 110 В мануале такой пример от 11110 отнимают 110 и дальше почему-то идёт опять 110 (это же не ответ, 30-6=24) затем ноль не пишут (тогда из каких соображений его вообще взяли?) и потом опять 110 вобщем два вопроса: почему в третьей строке вместо ответа стоит 110 и из каких соображений вообще брали ноль (в числе 101) надеюсь кто-нить поможет
Когда-то в своё время экзамен по ассемблеру сдавал(фу бяка какая, фу) пользовался вот этим: _http://www.dstu.edu.ru/informatics/mtdss/part1.html (ну не совсем этим, но похоже. А вообще лекциями в основном) Чё-т похожее... _http://forum.ixbt.com/topic.cgi?id=26:35304
перевели в десятичную систему, раздели а потом опять в двоичную! всегото... а ошибка в том что 11110-110=11000 а не 110! при вычитание выравнивать надо по правому краю!)) в переди можно дописоват скок угодно нулей вот: 11110 00110 11000
аа, они меня пытаются наипать, я и в другом примере подобное замечал, пока сам не решил, не мог понять как у них получилось спасиб, попробую хотелось бы уточнить потому что в статье не написано прямым текстом: 1-1 = 0 1-0 = 1 0-1 = 0 0-0 = 1 правильно?
а, мля вот 1-1 = 0 1-0 = 1 0-1 = 1 0-0 = 0 самый правильный вариант, пасиба 2Dr.Check пасиб за ссылки
1011011101001 / 1110011 -1110011000000 | 110011 ----------------------- 1001000101000 - 1110011000000 ----------------------- 1110001001 - 1110011 ----------------------- 1111010 вопрос такой: когда я составляю ответ (последняя строчка), надо ли в него вписывать те две единицы, что я выделил жирным? и ещё как мне вообще узнать когда в ответ вписывать нули, чтобы сместить число? или специально подставляют нужное кол-во нулей, чтобы двигать число вправо и отсекать те цифры, что остаются слева? (выделены жирным)
Дикс! Чтобы легче было из числа вычитать число, есле в дном числе меньше цифр чем в другом, то добовляй нули впереди! тоесть: есле ты хочеш сделать 1110001001-1110011 то запиши это как 1110001001-0000111001 далее: 1110001001 0000111001 1101010000 и все)) когда мы делаем 0-1 то занимаем 1 у впереди стоящаего разряда и ответ будет 1! короче при вычитание (есле делаеться 0-1) можно то число ( в данном случае 1110001001) записать так 1101121001 и потом проводить вычитание!
имхо ничего новоги неузнал чесно.. но даже незнаю или бужет полезн ето новичкам.)) лутше сразу книгу купить и все.))) но всеравно за старания как всегда +
nc.STRIEM ты был неправ по поводу 0-1 = 0 потому что надо занимать единицу из старшего разряда к примеру 01001- 00011 --------- 1-1=0 затем занимаем единицу, отмеченную подчёркиванием (она становится нулём, а нуль, идущий после неё, напротив - единицей) 10-1=1 1-0=1 0-0=0 0-0=0 в связи с этим тоже вопрос: а если такая ситуация 1011- 1101 --------- 1-1=0 1-0=1 занимаем подчёркнутую единицу 10-1=1 и теперь вот чего получается: в первом столбце у нас 0-1 а занять уже неоткуда =\ MS calc выдает 1111111111111111111111111111111111111111111111111111111111111110 %))) в десятичной системе это 11-13 из этого следует вывод что нельзя получить отрицательное число в двоичной системе
Чет я так и не понял де я был не прав?? В предыдущих постах я все правильно написал! и там написано 0-1=1 и единица занимаеться у впереди стоящего разряда! Вобщето так и есть)) а в ситуации 1011-1101 тут уже другой алгоритм 1011 это 11 в десятичной а 1101 это 13! дак вот алгоритм такой мы 11 переводим в отрицательное число, и потом складываем! тоесть -11+13! ток это все в двоичной системе! Это и есть правильный ответ! т.к. в отрицательных числах все старшие разряды превращаються в 1