Я анализирую данные, представляющие собой 10-разрядное целое число со знаком. Поскольку единственный способ представить эти данные - использовать int или short (для двухбайтового представления знака), мне нужно привести 10-16 бит. Я уже применил 2 метода, но они либо медленные, либо зависят от компилятора.
Медленный метод заключается в использовании pow()
function
value = pow(2,16) - pow(2,10) + value
Метод, зависящий от компилятора:
value = (value << 6) >> 6 (right shift shifts the MSB which is a compiler dependent operation and may shift 0 if compiler is different)
Может кто-нибудь помочь мне найти стандартный способ приведения нестандартных типов к стандартным типам