2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 11:32 
Chifu в сообщении #640656 писал(а):
А $\lfloor ... \rfloor$ как определяется?

Округление к меньшему или другими словами до целого к $-\infty$

 
 
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 11:41 
Аватара пользователя
При сдвиге влево, переполнение может быть для числа $A\cdot 2^X,$ но не для числа $-A\cdot 2^X.$ Тогда $C$ будет вычисляться уже после переполнения. Будет ли оно идентичным числу $B,$ как вы говорите?

 
 
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 13:08 
Аватара пользователя
main.c в сообщении #640660 писал(а):
Округление к меньшему или другими словами до целого к $-\infty$
Вот и надо объяснить, что при отбрасывании младшего бита положительные числа округляются в меньшую сторону, а отрицательные в меньшую, но большую по абсолютной величине сторону, отсюда если отбрасывается 1 (нечётный код), то будет разница на значение младшего значащего разряда при округлении отрицательных чисел полученных разными методами, а если отбрасывается 0 (чётный код), то нет.

 
 
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 16:08 
Munin в сообщении #640664 писал(а):
При сдвиге влево, переполнение может быть для числа $A\cdot 2^X,$ но не для числа $-A\cdot 2^X.$ Тогда $C$ будет вычисляться уже после переполнения. Будет ли оно идентичным числу $B,$ как вы говорите?

Например?

 
 
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 17:24 
Аватара пользователя
$A\cdot 2^X=128.$

 
 
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 18:54 
Munin в сообщении #640773 писал(а):
$A\cdot 2^X=128.$
сдвинули, теперь берём отрицание, получим $-128$.
Вот так там будет, если более подробно.
Пример: $-A = -64, X = 1 $, двигаем влево, было $11000000$, станет $10000000$, то есть $B = -128$.
Второй вариант, берём модуль, получится $01000000$, сдвигаем влево, $10000000$, а теперь берём отрицание этого числа, т.е. дополнительный код и получаем $10000000$, $C = -128$.
Итог, $B = C$, что как раз и является выводом в моих рассуждениях.

 
 
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 22:04 
Аватара пользователя
И как вы от этого 1000 0000 берёте дополнительный код?

 
 
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 22:19 
Очень просто, инвертирую все биты, получаю $01111111$, а затем прибавляю единицу в младшем разряде и получаю $10000000$, Вы со мной не согласны?

 
 
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 22:55 
Аватара пользователя
Ну, если вы уверены, то можете в таком виде и сдавать. Мои сомнения относятся к другому пониманию слова "дополнительный код", так что вас они не затрагивают.

 
 
 [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group