如何判断一个数为无符号数还是有符号数

http://blog.csdn.net/yysdsyl/article/details/1885829

1. 利用函数重载

发信人: Enderson (小强), 信区: C_Cpp
标  题: Re: 如何判断一个变量是有符号还是无符号的?
发信站: 兵马俑BBS (Wed Nov  7 21:25:45 2007), 本站(bbs.xjtu.edu.cn)

void f(int val)
{
    std::cout << "singned" << std::endl;
}

void f(unsigned int val)
{
    std::cout << "unsigned" << std::endl;
}

在判断a是否有符号整数的地方调用函数f(a)就可以了吧

2. 通过改变符号位判断

发信人: phylips (星星||决定了,为老婆孩子奋斗), 信区: C_Cpp
标  题: Re: 如何判断一个变量是有符号还是无符号的?
发信站: 兵马俑BBS (Wed Nov  7 17:16:02 2007), 本站(bbs.xjtu.edu.cn)

那这样可以不
把A进行一个位运算,将最高位置1,判断是否大于0
A = A|(1 << 31);
if(A > 0)
printf("unsigned");
else
printf("signed");

时间: 2024-10-26 13:17:23

如何判断一个数为无符号数还是有符号数的相关文章

有符号数

char.short.int.long int . long long int char 8bit 1个字节 0~0xFFshort int 16bit 2字节 0~0xFFFFint 32bit 4个字节 0~0xFFFFFFFFlong int 32bit 4个字节 0~0xFFFFFFFFlong long int 64bit 8个字节 0~0xFFFFFFFFFFFFFFFF 整数其实,一般我们说无符号数,有符号数,都是针对十进制的说法.char v1;short int v2;int

快速判断一个数是否是4的幂次方,若是,并判断出来是多少次方!

将4的幂次方写成2进制形式后,很容易发现有个特点,2进制中只有1个1(1在奇数位置),并且后面跟了偶数个0:因此问题可以转化为判断1后面是否跟了偶数个0就可以了. 4的整数次幂的二进制可以写为2^(2*n),即也可以写成2的幂次方,当然就满足2的幂次方的条件,即num&(num-1)==0. 思路:首先用条件num&(num-1)==0来判断是否为2的幂次方,若不满足,则不是.若满足,再用条件num&0x5555 5555 来判断,若为真,则这个整数是4 的幂次方.否则不是. #i

vuex中filter的使用 &amp;&amp; 快速判断一个数是否在一个数组中

vue中filter的使用 computed: mapState({ items: state => state.items.filter(function (value, index, arr) { return index < 5 }) }), 如上所示,对于vuex,我们在使用mapState获取state时, 可以使用filter来过滤其中的元素,在filter的回调函数中接受三个参数,第一个是value,即每一个元素的值: 第二个是index, 即每一个元素所在的index, 第三个

请编写一个程序,该程序可以接收两个数,并判断两个数是大于、小于、等于?

//作者:janushu //日期:2017/9/20 //功能判断两个数的大小 import java.io.*; public class CompareToNumDemo{ public static void main(String[] args){ try{ //输入流 从键盘上输入一个数 InputStreamReader isr = new InputStreamReader(System.in); //缓存读取一个数 BufferedReader br = new Buffere

判断一个数是否为质数

在软件开发的过程中,很多问题就像是应用题,有很多中解答的方式,但是结果都是一样,然而方式也有更加简单,易懂的. 例如标题所示,判断一个数是否为质数: 1. Static bool IsAdd (int n) { if(n%2!=0) { return true; } else { return false; } } 2. Static bool IsAdd (int n) { if(n%2!=0) { return true: }return false: } 3. Static bool Is

Java基础——使用三元运算符判断一个数的奇偶性

要求: 使用三元运算符判断一个数的奇偶性 实现代码: /** * 使用三元运算符判断用户输入的一个数的奇偶性 */ import java.util.Scanner; public class Odd_even { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个整数:"); long num1 = input.nextLo

如何判断一个数是2的幂

如何判断一个数是2的幂,主要是要找出2的幂次方的数的特点.我们知道,1个数乘以2就是将该数左移1位,而2的0次幂为1, 所以2的n次幂(就是2的0次幂n次乘以2)就是将1左移n位, 这样我们知道如果一个数n是2的幂,则其只有首位为1,其后若干个0,必然有n & (n - 1)为0.(在求1个数的二进制表示中1的个数的时候说过,n&(n-1)去掉n的最后一个1).因此,判断一个数n是否为2的幂,只需要判断n&(n-1)是否为0即可. bool powerof2(unsigned in

c语言:实现一个函数,判断一个数是不是素数。

实现一个函数,判断一个数是不是素数. 程序: #include <stdio.h> #include <math.h> int prime(int num) //prime表示素数 { int i = 0; int k = 0; k = sqrt(num); for (i = 2; i <= k; i++) { if (num%i == 0) { return 0; } } return 1; } int main() { int num; int ret; printf(&

判断一个数(小于10位)的位数。输入999,则输出 “它是个3位的数!”

判断一个数(小于10位)的位数. 输入999,则输出 “它是个3位的数!” -------------------------------------------------------------------------- public class HelloWorld{public static void main(String[] args){int num = 999;int count = 0; if (num >= 0  && num<=999999999){ wh