【发布时间】:2011-05-19 07:47:58
【问题描述】:
我想通过以下方式将 unsigned int (32bit) A 转换为 unsigned short int (16bit) B:
- 如果 A
- 如果 A > 2^16-1 则 B=2^16-1
换句话说,要转换 A,但如果它 > 16 位的最大允许值,则将其设置为最大值。
如何通过位操作或其他非分支方法来实现?
【问题讨论】:
-
您的意思是“...然后 B=2^16-1”吗?
-
如果 A > 2^16-1,您的意思是 B=2^16-1 吗?