小编Mic*_*tev的帖子

如何检查 int32_t 数是否适合 int8_t 和 int16_t?

我有一个 int32_t 号,我需要检查它是否适合 int8 和 in16,但是当我尝试时:

    if (number ==(int32_t)((int8_t) number)) {
    printf("%s %d\n","8", number);
    
} else if (number ==(int32_t)((int16_t) number)){
    printf("%s %d\n","16", number);
    
Run Code Online (Sandbox Code Playgroud)

编译器说第一个 if 语句总是正确的,但我不知道如何以其他方式做到这一点,只使用“==”和诸如 << >> 之类的位操作。和 <stdint.h>。

c c++ clang

4
推荐指数
1
解决办法
174
查看次数

标签 统计

c ×1

c++ ×1

clang ×1