Что происходит, когда вы передаете целое число со знаком в функцию, которая ожидает целое число без знака для целей филь ⇐ C++
-
Гость
Что происходит, когда вы передаете целое число со знаком в функцию, которая ожидает целое число без знака для целей филь
Мне нужно изменить размер некоторых изображений, и я использую библиотеку stb, бесплатную библиотеку C, предназначенную только для заголовков, и в ней есть функции для uint8, >uint16, uint32 и float. У меня есть несколько изображений, подписанных int16, со значениями от отрицательных до положительных. Что произойдет с этими значениями, если я передам эти подписанные целые числа, преобразованные компилятором как беззнаковые целые числа, явно или неявно? Я предполагаю, что он полностью сломается. Поэтому мне нужно создать новый буфер, преобразовать его в float и вызвать функцию float, а затем преобразовать эти значения float обратно в < код>int16? Есть ли лучший способ сделать это?
Мне нужно изменить размер некоторых изображений, и я использую библиотеку stb, бесплатную библиотеку C, предназначенную только для заголовков, и в ней есть функции для uint8, >uint16, uint32 и float. У меня есть несколько изображений, подписанных int16, со значениями от отрицательных до положительных. Что произойдет с этими значениями, если я передам эти подписанные целые числа, преобразованные компилятором как беззнаковые целые числа, явно или неявно? Я предполагаю, что он полностью сломается. Поэтому мне нужно создать новый буфер, преобразовать его в float и вызвать функцию float, а затем преобразовать эти значения float обратно в < код>int16? Есть ли лучший способ сделать это?
Мобильная версия