64,639
社区成员
发帖
与我相关
我的任务
分享
short s_value = -1; // 16进制为ffff
int n_compare = -1; // 16进制为ffffffff
你如果指的是把它们转成10进制,那对有符号整数来说,先判断符号位,你用
int sign_short = s_value & (1 << 16);
int sign_n_compare = n_compare & (1 << 32);
符号位是1,就是负数,0就是正数。
再把两个数字取反加1就是它们的绝对值,转成10进制乘以符号位就行了。