小编Vis*_*hal的帖子

如何判断32位int是否适合16位短路

仅使用:

! ~ & ^ | + << >>
Run Code Online (Sandbox Code Playgroud)

我需要找出一个带符号的32位整数是否可以表示为16位,2的补码整数.

我的第一个想法是分离MSB 16位和LSB 16位,然后使用掩码和最后16位,所以如果它不为零,它将无法表示,然后使用该数字来检查MSB位.

我需要编写的函数示例是:fitsInShort(33000)= 0(无法表示)和fitsInShort(-32768)= 1(可以表示)

c integer bit-manipulation

7
推荐指数
2
解决办法
5796
查看次数

标签 统计

bit-manipulation ×1

c ×1

integer ×1