У меня есть подписанный символ в OpenCL, который мне нужно преобразовать в unsigned char.Как конвертировать подписанный символ без знака в OpenCL?
ответ
C-like литье должно работать. Единственное различие заключается в том, что вы используете типы cl_. Но они эквивалентны типам C.
Например, чтобы преобразовать подписало неподписанный символ:
cl_char c = 0xF;
cl_uchar uc = c;
Чтобы преобразовать указатель подписанного полукокса на указатель на неподписанный символ:
cl_char* cArr = // Points to char array
cl_uchar* ucArr = (cl_uchar*) cArr; // Access char array as uchar array
Всех этих 'cl_' типов префиксов является типами API для использования в коде хоста. Я не думаю, что это вопрос. – talonmies
Стандарт OpenCL определяет explicit conversion functions для всех встроенного - в скалярном и векторном типах. Так что вы можете сделать что-то вроде этого:
char signed_val = 10;
uchar unsigned_val = convert_uchar(signed_val);
Talonmies: Спасибо, что сообщили. Любая идея, почему эти функции преобразования нужны вместо обычного литья? –
@Ashwin: функции с плавающей запятой обеспечивают явный контроль над различными правилами округления IEEE-754, которые нет. Эти функции также поддерживают все типы векторов OpenCL, которые не существуют в стандартном C99. В противном случае я думаю, что это для последовательного интерфейса и для улучшения практики программирования - они заставляют программиста явно выбирать поведение конверсии, которое всегда хорошо ИМХО. – talonmies
Talonmies: Если я правильно понимаю, нет ничего особенного, чтобы функции преобразования выполняли для преобразования char-uchar. В любом случае, ваш лучший ответ, и я попрошу плакат выбрать ваш. –
- 1. Подписанный под заказ без знака
- 2. Как спрятать символ без знака?
- 3. 12 Байт, подписанный или целое без знака
- 4. Эффективно конвертировать без знака short в char *
- 5. C++ 11 тип (подписанный + без знака)?
- 6. Как конвертировать короткие без знака в короткую, подписанную на Android?
- 7. C: конвертировать подписанное без знака
- 8. Как печатать символ без знака в C?
- 9. Как получить подписанный int из шестиугольника без знака в C++?
- 10. символ без знака для SetWindowTextA
- 11. Как добавить подписанный 8-бит из 16-битного без знака?
- 12. конвертировать подписанное значение без знака в C
- 13. Как увеличить/уменьшить символ без знака?
- 14. Ввод mutiple булевых в символ без знака?
- 15. Scanf символ без знака в шестнадцатеричной
- 16. Почему мой компилятор пытается конвертировать подписанный долго долго без знака Int
- 17. разница между экспортом без знака и подписанный пакет приложений
- 18. C++ символ без знака распределения вопроса
- 19. Как конвертировать подписанное целое без знака в python
- 20. недействителен преобразование Const символ без знака
- 21. преобразовать целое число без знака неподписанные символ *
- 22. Как проверить число без знака?
- 23. Как преобразовать int в подписанный символ?
- 24. Альтернатива без знака без знака
- 25. Разница между '(без знака) 1' и '(без знака) ~ 0'
- 26. Как пройти константный символ без знака * из C++ в C#
- 27. Как сканировать и печатать символ без знака в C?
- 28. openCL: как конвертировать uint4 в uchar4?
- 29. конвертировать без знака long в char * в C++
- 30. Конвертировать без знака длинный длинный в два раза в C
Я полагаю, вы имеете в виду внутри ядра OpenCL – talonmies