C语言求幂运算总得那么反人类么

C语言求幂运算非得那么反人类么?
如题,非得用把"^"分给位异或,而求幂用麻烦的"pow(x,n)"?

能否把按位异或用"$",求幂用"^"?

或者像fortran那样用"**"来作为求幂运算也可以嘛。难道按位异或比求幂用得多?

C语言的标准不能改一改?
------解决方案--------------------
楼主想法不错,但要想改变,基本不可能了。

------解决方案--------------------
不知道C++的运算符重载,可不可以达成楼主的心愿。
------解决方案--------------------
C 语言是比较低级的语言,异或操作直接对应汇编里面的指令,而求幂是一个很复杂的操作,不内置到语言里面,而是用库来实现。
C++ 的操作符重载必须要有一个是自定义类型才行,不能再两个内置类型上面重载的。
------解决方案--------------------
确实不太直观,不过已经约定好了,就像虽然是牛顿先发明微积分,但是符号还是莱布尼茨用的好。

引用:
如题,非得用把"^"分给位异或,而求幂用麻烦的"pow(x,n)"?

能否把按位异或用"$",求幂用"^"?

或者像fortran那样用"**"来作为求幂运算也可以嘛。难道按位异或比求幂用得多?

C语言的标准不能改一改?

------解决方案--------------------
异或用 $ 还是 ^ 应该不会有什么影响,选用了 ^ 而没有使用 $ 只是设计者个人的喜好吧,或许他觉得代码里面 $ 太多了看起来更像是财务报表了呢 :)

要用库来引入一个语法,这个设计起来估计就复杂了,就算是 C++ 的操作符重载也只是改变已有语法的操作,而不能创造出新的语法来。
------解决方案--------------------
对于通用语言来说,按位异或比求幂要基本得多重要得多
------解决方案--------------------
规则如此,你只能忍.
------解决方案--------------------
引用:
Quote: 引用:

异或用 $ 还是 ^ 应该不会有什么影响,选用了 ^ 而没有使用 $ 只是设计者个人的喜好吧,或许他觉得代码里面 $ 太多了看起来更像是财务报表了呢 :)

要用库来引入一个语法,这个设计起来估计就复杂了,就算是 C++ 的操作符重载也只是改变已有语法的操作,而不能创造出新的语法来。



哈哈,财务报表的解释比较有意思。

C语言要在math.h库要设计一个“**”或是“^”这样的运算,我感觉好像不太可能。。。

关键还是看设计者需求了。
其实最最基本的算术运算其实就加法一种,减法是它的逆运算,乘法是它的便捷运算,除法是乘法的逆运算。不过一般人都用加减乘除,这个更方便。而像fortran这样的针对数值算法的,它就把乘方“**”也作为基本的运算符了,这对数值计算来说确实方便不少。

不知道是啥时候,大家好像都有用^来表示乘方的习惯了。。。

**是指针的指针 
------解决方案--------------------
用 ^ 来表示幂运算时数学领域的表示方法,估计是个什么协会一起制定的一个标准。
计算机领域表示公式的符号比数学领域少得多,而且错位的也不止 ^ 一种
* 在数学里面表示卷积, 在计算机里表示乘积
% 在数学里面表示百分比,在计算机里表示取余数

------解决方案--------------------
BASIC 语言里就用 ^ 来表示幂的
------解决方案--------------------
引用:
按位异或具体能做些什么我不是很清楚,诚心请教一下,谢谢。
用"$"表示按位异或也是可以的,对么?
我是想知道:C语言用“^”表示“按位异或”设计者考虑不周呢,还是有其它更重要原因呢?

按位异或是机器命令中的基本运算,最基本的用法就是两个数异或来比较是否相等
对于连乘法都要拆分成N条机器命令才能实现的底层语言来说,根本没有考虑幂运算的必要
------解决方案--------------------
要历史地看问题。
------解决方案--------------------
引用:
Quote: 引用:

按位异或是机器命令中的基本运算,最基本的用法就是两个数异或来比较是否相等
对于连乘法都要拆分成N条机器命令才能实现的底层语言来说,根本没有考虑幂运算的必要


呵呵,我大概找到一些比较经典的应用:
http://blog.csdn.net/aierda/article/details/6572157

但是pow是math.h的数学库里的,这已经不是基本运算了,在这里做一点更好的更人性化的改变么不是更好么?

用"$"表示按位异或也是可以的,对么?
那么其实可以用来做数值运算有更好的兼容的。只不过设计者没考虑罢了,而现在就成了一个约定事实。其实现在用C来做数值计算的也不少呢。

所以事实是,可以更好,而设计者没有考虑到而已。也不是指责设计者,谁能考虑到所有的因素呢。

用C做数值运算的人加一起,也比不上用C做底层控制的人的一半重要
所有以为求幂比异或更重要的,大概都从没接触过底层汇编甚至电子电路,而底层才是C语言最重要的主场
改一个符号将导致以前的大部分代码失效——特别是最重要的底层控制代码
------解决方案--------------------
引用:
用 ^ 来表示幂运算时数学领域的表示方法,估计是个什么协会一起制定的一个标准。
计算机领域表示公式的符号比数学领域少得多,而且错位的也不止 ^ 一种
* 在数学里面表示卷积, 在计算机里表示乘积
% 在数学里面表示百分比,在计算机里表示取余数

没有什么协会。latex一开始用的就是^表示上标。
------解决方案--------------------
因为幂运算不是C语言的基本运算,没有运算符,是用库函数实现的,属于二次开发。
实际上相当多的计算机语言(估计是多数)中幂运算都不是基本运算,Fortran和Ada属于例外。

------解决方案--------------------
c最大的缺陷就是不能解决问题。

希望c增加这样的语法:

  todo "close os"

系统就关闭。

  todo "xiangqi"

就跟你下象棋。


------解决方案--------------------
这有什么关系,多打几个字母,你以为所有人的思想都可以统一成一致么。。那所有编程语言都一样了,楼主可以自己把所有的语言语法格式,函数统一成一样的,重写所有的东西,让我们也可以拿到福利,不用记忆各种语言的不同表达方式
------解决方案--------------------
引用:
Quote: 引用:

这有什么关系,多打几个字母,你以为所有人的思想都可以统一成一致么。。那所有编程语言都一样了,楼主可以自己把所有的语言语法格式,函数统一成一样的,重写所有的东西,让我们也可以拿到福利,不用记忆各种语言的不同表达方式


呵呵,您多虑了。我有说要把所有人思想一致什么的么?我有要求所有编程语言一样么?能不能就事论事。我的标题或许让你们觉得不爽了,但你说这个事如果当时设计者考虑得多一点,或许C是不是可以更完美一些?

对自己要求严格点比对别人要求严格更好,说话方式有问题,见谅。