您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
为什么c语言中位运算符只能用于整型而不能用于实型?
整数,运算符,整型为什么c语言中位运算符只能用于整型而不能用于实型?
发布时间:2020-12-06加入收藏来源:互联网点击:
为什么c语言中位运算符只能用于整型而不能用于实型?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
C语言中,%只能用于整数运算的运算符,%是求余运算符,只能适用于整数与整数运算,如果用于非整数运算,程序会报错导致无法运行。
A选项错误,是因为在C语言中,语句之间的分割要用英文状态下的分号去分割,即“;”,而不是冒号。
D选项正确,是因为%是除法取余运算,适用于整数与整数运算。否则,不同的编译器会得不同结果。作为双目运算符,左右操作数可以是数值,也可以是表达式,但是左右两边的操作数必须是整数。
扩展资料
求余运算符“%”,二元运算符,具有左结合性。参与运算的量均为整型。求余运算的结果等于两个数相除后的余数。“%”取模运算符还有一些小的应用,例如:
1、当你想要通过rand()获得随机数时,rand()%100;产生0-99的随机数。
假如要产生16-59之间的数,可以这样写:rand()%44+16(这里44由59-16+1得到)。
回答于 2019-09-11 08:43:50
其实也不是不可以,只是位运算浮点数没有什么实际意义,这是因为浮点数的存储方式并不是简单的二进制存储,它分为四部分,符号位,指数位,小数部分和指数偏移量,位移操作之后新的浮点数值和之前的值不是2倍或1/2被的关系。但是如果你真的想位移,强制转化类型,位移也可以的。
回答于 2019-09-11 08:43:50
因为只有整型数据才能做位运算,整型做位运算是有意义的,可以完成数据处理的一些特定功能。
计算机中实型数据的表示方式是按科学记数法表示的,有小数有指数,按规定的位进行存储,这决定了实型做位运算是没有意义的,结果也是不可预知的,一次位运算就可能导致数据溢出。
不管在哪种语言中,位运算都是只能用于整型,不能用于实型。
上一篇:领导鞭打快牛,工作做的越快工作量反而被增加,怎样打破这种局面?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |