Size: a a a

2020 November 01

m

magras in pro.cxx
Konstantin
Если с нулём или если одно число положительное, а другое отрицательное, но для этого надо знать тип данных(у знаковый первый бит отвечает за знак, а у беззнаковых он является частью значения) и каким-то образом отделять знаковый бит(скорее всего битовыми операциями)
У вас есть платформы не использующие two's compliment?
источник

K

Konstantin in pro.cxx
Я думаю его все используют
источник

K

Konstantin in pro.cxx
По крайней мере сейчас
источник

m

magras in pro.cxx
Konstantin
Если с нулём или если одно число положительное, а другое отрицательное, но для этого надо знать тип данных(у знаковый первый бит отвечает за знак, а у беззнаковых он является частью значения) и каким-то образом отделять знаковый бит(скорее всего битовыми операциями)
В two's compliment нет знакового бита. Да, старший бит всегда будет выставлен, если число отрицательно, но там все немного сложнее.

Прелесть же two's compliment в том, что процессору в подавляющем числе случаев не важно работает он со знаковыми или беззнаковыми. В частности сравнение двух чисел по сути выполняется через вычисление их разности (в случае test и cmp результат выбрасывается, сохраняются только флаги) и анализ двух флагов zero и sign (это делает уже команда условного перехода).
источник

DF

Dollar Føølish in pro.cxx
По факту то знаковый бит есть
источник

DF

Dollar Føølish in pro.cxx
Просто он входит в число при расчетах
источник

I

Ioann_V in pro.cxx
Андрей Руссков
обычно оптимизации таких вещей как memcpy контрибьютят сами разработчики процов*, так что оптимизировать вручную - не шибко благодарное занятие.

* можно ли считать это contrib'ом, если intel  - основные мейнтейнеры? )
ты знаешь что мемкпу это одна инструкция x86_64?
источник

АР

Андрей Руссков... in pro.cxx
нет
источник

АР

Андрей Руссков... in pro.cxx
а какая?
источник

CD

Constantine Drozdov in pro.cxx
Ioann_V
ты знаешь что мемкпу это одна инструкция x86_64?
это которая rep sto?? или как-то там?
источник

I

Ioann_V in pro.cxx
repb, что-то типа того
источник

I

Ioann_V in pro.cxx
Constantine Drozdov
это которая rep sto?? или как-то там?
да, как-то так, на хабре есть статья.
источник

CD

Constantine Drozdov in pro.cxx
Ioann_V
да, как-то так, на хабре есть статья.
ну у меня вьетнамские флешбеки воспоминания что есть rep инструкции для пересылки SI в DI
источник

m

magras in pro.cxx
Dollar Føølish
По факту то знаковый бит есть
Я не согласен. Какой бит я должен флипнуть чтобы превратить 1 в -1?
источник

АР

Андрей Руссков... in pro.cxx
ну блин это всё конечно круто
источник

АР

Андрей Руссков... in pro.cxx
но я хочу найти подтверждение этому в сорцах стдлибы
источник

DF

Dollar Føølish in pro.cxx
magras
Я не согласен. Какой бит я должен флипнуть чтобы превратить 1 в -1?
Тогда вы правы
источник

DF

Dollar Føølish in pro.cxx
Андрей Руссков
но я хочу найти подтверждение этому в сорцах стдлибы
+++
источник

DF

Dollar Føølish in pro.cxx
Там в выровненном случае используются сразу по 64 байта копирование
источник

DF

Dollar Føølish in pro.cxx
А на армах так адресация вообще от начала страницы
источник