Re: iMul как считает CPU
От: Zhendos  
Дата: 19.04.23 16:38
Оценка: 3 (1) +1
Здравствуйте, VVVa, Вы писали:

VVV>с add и sub понятно — там отрицательные и положительные числа считаются одинаково...

VVV>а как считает imul — он что определяет является ли число отрицательным, потом извлекает знак и переводит в положительное число, а потом умножает?

Зачем что-то куда-то переводить,
скажем работаем с 32битными числами, тогда -1 * 2 это 0xffffffff * 2,
перемножаем как безнаковые и получаем 0x1_ffff_fffe ,
отбрасываем то что "вылезло" за 32бита и получаем 0xffff_fffe ,
а это как раз -2.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.