① c语言中实型变量有分正负吗
实型变量存储的时候计算机是不分正负的,因为他用asc 码存;
但是你可以用负数,他会转换成他的补码进行存储的
② 用c语言怎么判断一个数的正负及怎么取整数
floor
【功能】向下取整函数。
【原型】double floor(double x)
【位置】math.h
【说明】返回小于或等于x的最大整数
③ 输入一个数,判断正负,C语言写程序,初学者,不太懂怎么写
主函数中这么写:
int a;
printf("input a number:");
scanf("%d",&a);
if(a>0)printf("%d is 正数.",a);
else if(a==0)printf("%d is 0.",a);
else if(a<0)printf("%d is 负数.",a);
④ c语言常量前面可以有两个负号吗
不可以。两个负号的话要用括号: -(-3). 因为-- 会被看作自减运算
⑤ C语言中为什么负数是字符串常量
答案没错:
“-518”是字符串常量;
-518才是负整数。
学C语言,有些基本的概念要记住。如:
"1"是个字符串(在半角的双引号之间);
‘1’是个字符(在半角的单引号之间);
1是个整数。
⑥ C语言中,-0x5B这种表达方式对吗也就是说16进制的整型常量有负数吗请解释
没有任何问题。
0x5b只是16进制方式表示的整数,我们都知道整数是可以是正数或负数的,所以这样表示没有问题。
不论是二进制、八进制、十进制、十六进制甚至是三十二进制还是多少多少进制,都只是一种数值的表示方法而已,它们归根结底表示的都是整数,理解了这一点就好了。
----------------------
对补充信息的回答:
我说过,这些只是不同进制对整数的表示方法。八进制、十六进制同样可以表示负数。比如你举的例子,-1这个值,十六进制表示为0xFFFFFFFF。这里面第一位数(就是0x后面的第一个F),它的二进制值是1111,这4个1的第一位1就是符号位,为0表示整个数为正值,为1表示整个数为复制。
也就是说,0x8-0xf开头的十六进制数就是负数。
八进制类似。
再说一句,计算机程序中,我们平时的正负号(+和-)是为了描述十进制数使用的,其他进制有自己的正负值表示方法,并不使用正负号。
⑦ 在C语言中,int型常量包不包括负数
包括,无符号整型不包括,整型是包括的。
int k=5; while(--k)printf("%d",k-=3;); 执行过程是:
k=5,然后执行while语句,因为--在前,先执行减1操作再执行判断,k=4,执行循环,k-=3,也就是k=k-3,将k减3的值输出,也就是1,然后继续while语句,执行减1操作后k=0,循环结束。
⑧ C语言区分int数据正负的问题
类型是对一串二进制位的解释,这16bit有两种解释,有符号整数,有无符号整数。
按有符号数来解释,最高位是符号位,1表示负数,其值为-20840。
按无符号数来解释,值为44696。
⑨ 在c语言中,整型常量的八进制常量能否负数
没有任何问题。
0x5b只是16进制方式表示的整数,我们都知道整数是可以是正数或负数的,所以这样表示没有问题。
不论是二进制、八进制、十进制、十六进制甚至是三十二进制还是多少多少进制,都只是一种数值的表示方法而已,它们归根结底表示的都是整数,理解了这一点就好了。
----------------------
对补禒窢操喝鬲估叉台常郡充信息的回答:
我说过,这些只是不同进制对整数的表示方法。八进制、十六进制同样可以表示负数。比如你举的例子,-1这个值,十六进制表示为0xffffffff。这里面第一位数(就是0x后面的第一个f),它的二进制值是1111,这4个1的第一位1就是符号位,为0表示整个数为正值,为1表示整个数为复制。
也就是说,0x8-0xf开头的十六进制数就是负数。
八进制类似。
再说一句,计算机程序中,我们平时的正负号(+和-)是为了描述十进制数使用的,其他进制有自己的正负值表示方法,并不使用正负号。
⑩ C语言如何表示正负值问题
c语言有两种数据类型,一种是整型,一种是浮点型 ,整型类型一般用的原码表示,浮点类型一般用的IEEE754标准进行编码。
整型数中原码表示正负数,取最高位为符号位,以8位二进制数来表示1和-1。1的二进制为
0 000 0001 //最高位为符号位,0表示正数,1表示负数
1 000 0001 //这个表示-1
IEEE754浮点数编码,使用的格式类似于 (-1)^s * M* 2^E,其中s是符号位,M是有效位数,E指的是指数,s符号位占1位,如果是0,则(-1)的0次方为1,表示是一个正数,如果s位是-1,则表示是一个负数。