Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
817 views
in Technique[技术] by (71.8m points)

math - Why 0 ** 0 equals 1 in python

Why does 0 ** 0 equal 1 in Python? Shouldn't it throw an exception, like 0 / 0 does?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Wikipedia has interesting coverage of the history and the differing points of view on the value of 0 ** 0:

The debate has been going on at least since the early 19th century. At that time, most mathematicians agreed that 0 ** 0 = 1, until in 1821 Cauchy listed 0 ** 0 along with expressions like 0?0 in a table of undefined forms. In the 1830s Libri published an unconvincing argument for 0 ** 0 = 1, and M?bius sided with him...

As applied to computers, IEEE 754 recommends several functions for computing a power. It defines pow(0, 0) and pown(0, 0) as returning 1, and powr(0, 0) as returning NaN.

Most programming languages follow the convention that 0 ** 0 == 1. Python is no exception, both for integer and floating-point arguments.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...