Zero to the zero power: Difference between revisions

Content deleted Content added
Thundergnat (talk | contribs)
m syntax highlighting fixup automation
Line 37:
 
=={{header|11l}}==
<syntaxhighlight lang ="11l">print(0 ^ 0)</langsyntaxhighlight>
 
{{out}}
Line 45:
 
=={{header|8th}}==
<langsyntaxhighlight lang="forth">
0 0 ^ .
</syntaxhighlight>
</lang>
{{out}}
1
Line 56:
=={{header|Action!}}==
{{libheader|Action! Tool Kit}}
<langsyntaxhighlight Actionlang="action!">INCLUDE "D2:REAL.ACT" ;from the Action! Tool Kit
 
PROC Main()
Line 69:
PrintR(z) Print("=")
PrintRE(res)
RETURN</langsyntaxhighlight>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Zero_to_the_zero_power.png Screenshot from Atari 8-bit computer]
Line 77:
 
=={{header|Ada}}==
<langsyntaxhighlight Adalang="ada">with Ada.Text_IO, Ada.Integer_Text_IO, Ada.Long_Integer_Text_IO,
Ada.Long_Long_Integer_Text_IO, Ada.Float_Text_IO, Ada.Long_Float_Text_IO,
Ada.Long_Long_Float_Text_IO;
Line 108:
Put (LLF ** Zero); New_Line;
end Test5;
</syntaxhighlight>
</lang>
{{out}}
<pre>Integer 0^0 = 1
Line 120:
=={{header|ALGOL 68}}==
{{works with|ALGOL 68G|Any - tested with release 2.6.win32}}
<langsyntaxhighlight lang="algol68">print( ( 0 ^ 0, newline ) )
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 128:
 
=={{header|APL}}==
<langsyntaxhighlight lang="apl"> 0*0
1</langsyntaxhighlight>
 
=={{header|AppleScript}}==
<syntaxhighlight lang ="applescript"> return 0 ^ 0</langsyntaxhighlight>
 
{{output}}
<syntaxhighlight lang ="applescript">1.0</langsyntaxhighlight>
 
=={{header|Applesoft BASIC}}==
Line 145:
=={{header|Arturo}}==
 
<langsyntaxhighlight lang="rebol">print 0 ^ 0
print 0.0 ^ 0</langsyntaxhighlight>
 
{{out}}
Line 154:
 
=={{header|Asymptote}}==
<langsyntaxhighlight Asymptotelang="asymptote">write("0 ^ 0 = ", 0 ** 0);</langsyntaxhighlight>
 
=={{header|AutoHotkey}}==
<syntaxhighlight lang AutoHotkey="autohotkey">MsgBox % 0 ** 0</langsyntaxhighlight>
{{out}}
<pre>1</pre>
 
=={{header|AWK}}==
<syntaxhighlight lang="awk">
<lang AWK>
# syntax: GAWK -f ZERO_TO_THE_ZERO_POWER.AWK
BEGIN {
Line 168:
exit(0)
}
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 175:
 
=={{header|BaCon}}==
<syntaxhighlight lang ="freebasic">PRINT POW(0, 0)</langsyntaxhighlight>
 
{{out}}
Line 183:
=={{header|BASIC}}==
==={{header|BASIC256}}===
<langsyntaxhighlight BASIC256lang="basic256">print "0 ^ 0 = "; 0 ^ 0</langsyntaxhighlight>
 
==={{header|QBasic}}===
{{works with|QBasic|1.1}}
{{works with|QuickBasic|4.5}}
<langsyntaxhighlight lang="qbasic">PRINT "0 ^ 0 ="; 0 ^ 0</langsyntaxhighlight>
 
==={{header|True BASIC}}===
{{works with|QBasic}}
<langsyntaxhighlight lang="qbasic">PRINT "0 ^ 0 ="; 0 ^ 0
END</langsyntaxhighlight>
 
 
=={{header|BBC BASIC}}==
<langsyntaxhighlight lang="bbcbasic"> PRINT 0^0</langsyntaxhighlight>
 
{{out}}
Line 205:
 
=={{header|Bc}}==
<syntaxhighlight lang="bc">
<lang Bc>
0 ^ 0
</syntaxhighlight>
</lang>
{{out}}
1
Line 216:
Note that the result is potentially dependent on the underlying language of the interpreter, but all those tested so far have returned 1. Interpreters that don't support '''Befunge-98''', or don't support this fingerprint, should just terminate (possibly with a warning).
 
<langsyntaxhighlight lang="befunge">"PDPF"4#@(0F0FYP)@</langsyntaxhighlight>
 
{{out}}
Line 223:
=={{header|BQN}}==
BQN doesn't specify the details of arithmetic functions; existing implementations use IEEE doubles and the <code>pow</code> function, giving a result of 1.
<syntaxhighlight lang BQN="bqn">0⋆0</langsyntaxhighlight>
{{out}}
<pre>1</pre>
 
=={{header|Bracmat}}==
<syntaxhighlight lang ="bracmat">0^0</langsyntaxhighlight>
{{out}}
<pre>1</pre>
 
=={{header|Burlesque}}==
<langsyntaxhighlight lang="blsq">
blsq ) 0.0 0.0?^
1.0
blsq ) 0 0?^
1
</syntaxhighlight>
</lang>
 
=={{header|C}}==
Line 244:
This example uses the standard <code>pow</code> function in the math library.
0^0 is given as 1.
<langsyntaxhighlight lang="c">#include <stdio.h>
#include <math.h>
#include <complex.h>
Line 254:
printf("0+0i ^ 0+0i = %f+%fi\n", creal(c), cimag(c));
return 0;
}</langsyntaxhighlight>
 
{{out}}
Line 263:
 
=={{header|C sharp|C#}}==
<langsyntaxhighlight lang="csharp">using System;
 
namespace ZeroToTheZeroeth
Line 275:
}
}
}</langsyntaxhighlight>
 
{{out}}
Line 283:
 
=={{header|C++}}==
<langsyntaxhighlight lang="cpp">#include <iostream>
#include <cmath>
#include <complex>
Line 293:
std::pow(std::complex<double>(0),std::complex<double>(0)) << std::endl;
return 0;
}</langsyntaxhighlight>
 
{{out}}
Line 302:
 
=={{header|Caché ObjectScript}}==
<langsyntaxhighlight Cachélang="caché ObjectScriptobjectscript">ZEROPOW
// default behavior is incorrect:
set (x,y) = 0
Line 311:
w !,"0 to the 0th power (right): "_(x**y)
quit</langsyntaxhighlight>
 
{{out}}<pre>SAMPLES>do ^ZEROPOW
Line 333:
1 in my case could just be an implementation detail.
 
<langsyntaxhighlight lang="clu">start_up = proc ()
zz_int: int := 0 ** 0
zz_real: real := 0.0 ** 0.0
Line 340:
stream$putl(po, "integer 0**0: " || int$unparse(zz_int))
stream$putl(po, "real 0**0: " || f_form(zz_real, 1, 1))
end start_up</langsyntaxhighlight>
{{out}}
<pre>integer 0**0: 1
Line 346:
 
=={{header|COBOL}}==
<langsyntaxhighlight lang="cobol">identification division.
program-id. zero-power-zero-program.
data division.
Line 354:
compute n = 0**0.
display n upon console.
stop run.</langsyntaxhighlight>
{{out}}
<pre>1</pre>
Line 360:
=={{header|ColdFusion}}==
=== Classic tag based CFML ===
<langsyntaxhighlight lang="cfm">
<cfset zeroPowerTag = 0^0>
<cfoutput>"#zeroPowerTag#"</cfoutput>
</syntaxhighlight>
</lang>
{{Output}}
<pre>
Line 370:
 
=== Script Based CFML ===
<langsyntaxhighlight lang="cfm"><cfscript>
zeroPower = 0^0;
writeOutput( zeroPower );
</cfscript></langsyntaxhighlight>
{{Output}}
<pre>
Line 397:
 
=={{header|Crystal}}==
<langsyntaxhighlight lang="crystal">puts "Int32: #{0_i32**0_i32}"
puts "Negative Int32: #{-0_i32**-0_i32}"
puts "Float32: #{0_f32**0_f32}"
puts "Negative Float32: #{-0_f32**-0_f32}"</langsyntaxhighlight>
 
{{Output}}
Line 409:
 
=={{header|D}}==
<langsyntaxhighlight lang="d">void main() {
import std.stdio, std.math, std.bigint, std.complex;
 
Line 420:
writeln("BigInt: ", 0.BigInt ^^ 0);
writeln("Complex: ", complex(0.0, 0.0) ^^ 0);
}</langsyntaxhighlight>
{{out}}
<pre>Int: 1
Line 432:
 
=={{header|Dc}}==
<langsyntaxhighlight lang="dc">0 0^p
</syntaxhighlight>
</lang>
{{Output}}
<pre>
Line 444:
=={{header|EasyLang}}==
 
<syntaxhighlight lang="text">print pow 0 0</langsyntaxhighlight>
 
=={{header|EchoLisp}}==
<langsyntaxhighlight lang="scheme">
;; trying the 16 combinations
;; all return the integer 1
Line 455:
(for* ((z1 zeroes) (z2 zeroes)) (write (expt z1 z2)))
→ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
</syntaxhighlight>
</lang>
 
=={{header|Eiffel}}==
<syntaxhighlight lang Eiffel="eiffel">print (0^0)</langsyntaxhighlight>
{{out}}
<pre>1</pre>
Line 464:
=={{header|Elena}}==
ELENA 4.x
<langsyntaxhighlight lang="elena">import extensions;
public program()
{
console.printLine("0^0 is ",0.power:0)
}</langsyntaxhighlight>
{{out}}
<pre>
Line 477:
=={{header|Elixir}}==
Elixir uses Erlang's <code>:math</code> for power operations and can handle zero to the zero power.
<syntaxhighlight lang="elixir">
<lang Elixir>
:math.pow(0,0)
</syntaxhighlight>
</lang>
 
{{out}}
1.0
=={{header|Emacs Lisp}}==
<syntaxhighlight lang Lisp="lisp">(expt 0 0)</langsyntaxhighlight>
{{out}}
1
 
=={{header|ERRE}}==
<syntaxhighlight lang="erre">
<lang ERRE>
.....
PRINT(0^0)
.....
</syntaxhighlight>
</lang>
{{out}}
<pre> 1
Line 505:
 
=={{header|Factor}}==
<langsyntaxhighlight lang="factor">USING: math.functions.private ; ! ^complex
0 0 ^
C{ 0 0 } C{ 0 0 } ^complex</langsyntaxhighlight>
{{out}}
<pre>--- Data stack:
Line 515:
=={{header|Falcon}}==
'''VBA/Python programmer's approach not sure if it's the most falconic way'''
<langsyntaxhighlight lang="falcon">
/* created by Aykayayciti Earl Lamont Montgomery
April 9th, 2018 */
Line 524:
> "z=", z
 
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 532:
 
=={{header|Fermat}}==
<syntaxhighlight lang ="fermat">0^0</langsyntaxhighlight>
{{out}}<pre>1</pre>
 
=={{header|Forth}}==
<syntaxhighlight lang ="forth">0e 0e f** f.</langsyntaxhighlight>
 
{{out}}
Line 543:
Of course in an embedded program we would be tempted to "pre-calculate" the answer :-)
 
<langsyntaxhighlight Forthlang="forth">: ^0 DROP 1 ;</langsyntaxhighlight>
 
{{Output}}
Line 552:
=={{header|Fortran}}==
 
<syntaxhighlight lang="fortran">
<lang Fortran>
program zero
double precision :: i, j
Line 564:
write(*,*) 'When complex numbers are used, we have (0.0+0.0i)^(0.0+0.0i) = ', z1**z2
end program
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 573:
 
=={{header|FreeBASIC}}==
<langsyntaxhighlight lang="freebasic">' FB 1.05.0 Win64
 
Print "0 ^ 0 ="; 0 ^ 0
Sleep</langsyntaxhighlight>
 
{{out}}
Line 584:
 
=={{header|Frink}}==
<syntaxhighlight lang ="frink">println[0^0]</langsyntaxhighlight>
 
{{out}}
Line 593:
 
=={{header|FutureBasic}}==
<langsyntaxhighlight lang="futurebasic">window 1
 
print 0^0
 
HandleEvents</langsyntaxhighlight>
Output:
<pre>
Line 605:
=={{header|Gambas}}==
'''[https://gambas-playground.proko.eu/?gist=7d505dbe89227e9b4423f92ef12d6829 Click this link to run this code]'''
<langsyntaxhighlight lang="gambas">Public Sub Main()
 
Print 0 ^ 0
 
End</langsyntaxhighlight>
Output:
<pre>
Line 616:
 
=={{header|GAP}}==
<syntaxhighlight lang ="gap">0^0;</langsyntaxhighlight>
{{out}}<pre>1</pre>
 
Line 622:
Go does not have an exponentiation operator but has functions in the standard library for three types, float64, complex128, and big.Int.
As of Go 1.3, all are documented to return 1.
<langsyntaxhighlight lang="go">package main
 
import (
Line 636:
fmt.Println("big integer:", b.Exp(&b, &b, nil))
fmt.Println("complex: ", cmplx.Pow(0, 0))
}</langsyntaxhighlight>
{{out}}
<pre>
Line 647:
{{trans|Java}}
Test:
<syntaxhighlight lang ="groovy">println 0**0</langsyntaxhighlight>
{{out}}
<pre>1</pre>
 
=={{header|GW-BASIC}}==
<syntaxhighlight lang ="gwbasic">PRINT 0^0</langsyntaxhighlight>
{{out}}<pre>1</pre>
 
=={{header|Haskell}}==
<langsyntaxhighlight lang="haskell">import Data.Complex
 
main = do
Line 664:
print $ 0 ** 0
print $ (0 :+ 0) ^ 0
print $ (0 :+ 0) ** (0 :+ 0)</langsyntaxhighlight>
{{out}}
<pre>
Line 676:
 
=={{header|HolyC}}==
<langsyntaxhighlight lang="holyc">F64 a = 0 ` 0;
Print("0 ` 0 = %5.3f\n", a);</langsyntaxhighlight>
 
{{out}}
Line 687:
 
"Works" in both languages:
<langsyntaxhighlight lang="unicon">procedure main()
write(0^0)
end</langsyntaxhighlight>
 
{{out}}
Line 705:
 
=={{header|J}}==
<langsyntaxhighlight lang="j"> 0 ^ 0
1</langsyntaxhighlight>
 
=={{header|Java}}==
<langsyntaxhighlight lang="java">System.out.println(Math.pow(0, 0));</langsyntaxhighlight>
{{out}}
<pre>1.0</pre>
Line 717:
{{Works with|Node.js}}
In interactive mode:
<langsyntaxhighlight lang="javascript">> Math.pow(0, 0);
1</langsyntaxhighlight>
===exponentiation operator (**)===
<langsyntaxhighlight lang="javascript">> 0**0
1</langsyntaxhighlight>
 
=={{header|jq}}==
Line 728:
a definition that makes a special case of 0^0 should be considered, e.g.
along the following lines:
<langsyntaxhighlight lang="jq">def power(y): y as $y | if $y == 0 then 1 elif . == 0 then 0 else log * $y | exp end;</langsyntaxhighlight>
 
This definition will however be unsatisfactory for many purposes
Line 734:
 
=={{header|Jsish}}==
<langsyntaxhighlight lang="javascript">puts(Math.pow(0,0));</langsyntaxhighlight>
{{out}}
<pre>1</pre>
Line 740:
=={{header|Julia}}==
Try all combinations of complex, float, rational, integer and boolean.
<langsyntaxhighlight Julialang="julia">using Printf
 
const types = (Complex, Float64, Rational, Int, Bool)
Line 748:
r = zb ^ ze
@printf("%10s ^ %-10s = %7s ^ %-7s = %-12s (%s)\n", Tb, Te, zb, ze, r, typeof(r))
end</langsyntaxhighlight>
 
{{out}}
Line 778:
 
=={{header|K}}==
<syntaxhighlight lang="k">
<lang K>
0^0
1.0
</syntaxhighlight>
</lang>
 
=={{header|Klingphix}}==
<langsyntaxhighlight Klingphixlang="klingphix">:mypower
dup not (
[ drop sign dup 0 equal [ drop 1 ] if ]
Line 793:
0 0 mypower print nl
 
"End " input</langsyntaxhighlight>
{{out}}
<pre>1
Line 799:
 
=={{header|Kotlin}}==
<langsyntaxhighlight lang="scala">// version 1.0.6
 
fun main(args: Array<String>) {
println("0 ^ 0 = ${Math.pow(0.0, 0.0)}")
}</langsyntaxhighlight>
 
{{out}}
Line 811:
 
=={{header|Lambdatalk}}==
<syntaxhighlight lang="scheme">
<lang Scheme>
{pow 0 0}
-> 1
{exp 0 0}
-> 1
</syntaxhighlight>
</lang>
 
=={{header|Liberty BASIC}}==
<syntaxhighlight lang="lb">
<lang lb>
'********
print 0^0
'********
</syntaxhighlight>
</lang>
{{out}}
<pre>1</pre>
Line 829:
=={{header|Locomotive Basic}}==
 
<syntaxhighlight lang ="locobasic">print 0🠅0</langsyntaxhighlight>
{{out}}
<pre> 1</pre>
Line 835:
=={{header|Lua}}==
No need to try different data types or with / without decimal points as all numbers in Lua are stored in double-precision floating-point format.
<syntaxhighlight lang Lua="lua">print(0^0)</langsyntaxhighlight>
{{out}}
<pre>1</pre>
Line 841:
=={{header|M2000 Interpreter}}==
M2000 use ** and ^ for power.
<syntaxhighlight lang="m2000 interpreter">
<lang M2000 Interpreter>
Module Checkit {
x=0
Line 848:
}
Checkit
</syntaxhighlight>
</lang>
 
=={{header|Maple}}==
<syntaxhighlight lang Maple="maple">0^0</langsyntaxhighlight>
{{out}}
<pre>1</pre>
 
However, for consistency with IEEE-754 numerics, we also have a NaN result for the equivalent floating-point exponentiation:
<syntaxhighlight lang Maple="maple">0^0.0</langsyntaxhighlight>
{{out}}
<pre>Float(undefined)</pre>
 
=={{header|Mathematica}}/{{header|Wolfram Language}}==
<syntaxhighlight lang Mathematica="mathematica">0^0</langsyntaxhighlight>
{{out}}
<pre>Indeterminate</pre>
 
=={{header|MATLAB}} / {{header|Octave}}==
<syntaxhighlight lang="matlab">0^0
<lang Matlab>0^0
complex(0,0)^0</langsyntaxhighlight>
{{out}}
<pre>1
1</pre>
=={{header|Maxima}}==
<syntaxhighlight lang ="maxima">0^0;</langsyntaxhighlight>
{{out}}<pre> 0
expt: undefined: 0</pre>
 
=={{header|Mercury}}==
<langsyntaxhighlight Mercurylang="mercury">:- module zero_to_the_zero_power.
:- interface.
 
Line 894:
io.format(" float.pow(0.0, 0) = %.1f\n", [f(pow(0.0, 0))], !IO).
 
:- end_module zero_to_the_zero_power.</langsyntaxhighlight>
{{out}}
<pre> int.pow(0, 0) = 1
Line 901:
 
=={{header|Microsoft Small Basic}}==
<langsyntaxhighlight lang="smallbasic">TextWindow.WriteLine(Math.Power(0,0))</langsyntaxhighlight>
{{out}}<pre>1</pre>
 
=={{header|min}}==
{{works with|min|0.19.3}}
<syntaxhighlight lang ="min">0 0 pow puts</langsyntaxhighlight>
{{out}}
<pre>
Line 913:
 
=={{header|MiniScript}}==
<langsyntaxhighlight MiniScriptlang="miniscript">print "The result of zero to the zero power is " + 0^0</langsyntaxhighlight>
{{out}}
<pre>
Line 920:
 
=={{header|МК-61/52}}==
<syntaxhighlight lang="text">Сx ^ x^y С/П</langsyntaxhighlight>
 
The result is error message.
 
=={{header|Nanoquery}}==
<syntaxhighlight lang ="nanoquery">println 0^0</langsyntaxhighlight>
{{out}}
<pre>1</pre>
Line 932:
Neko uses the C math library for exponentiation, Zero to the zero in math.pow(x, y) is treated as being 1.
 
<syntaxhighlight lang="actionscript">/**
<lang ActionScript>/**
Zero to the zeroth power, in Neko
*/
Line 938:
var math_pow = $loader.loadprim("std@math_pow", 2)
 
$print(math_pow(0, 0), "\n")</langsyntaxhighlight>
 
{{out}}
Line 946:
 
=={{header|NetRexx}}==
<langsyntaxhighlight lang="netrexx">x=0
Say '0**0='||x**x</langsyntaxhighlight>
{{out}}
<pre>0**0=1</pre>
 
=={{header|NewLISP}}==
<syntaxhighlight lang ="newlisp">(pow 0 0)</langsyntaxhighlight>
{{out}}
<pre>1</pre>
Line 960:
Create an exponentiation table for all type combinations (of integer <code>0</code>, float <code>0.0</code> and boolean <code>o</code>):
 
<langsyntaxhighlight lang="nial"> 0 0.0 o outer power 0 0.0 o
+--+--+--+
| 1|1.| 1|
Line 967:
+--+--+--+
| 1|1.| 1|
+--+--+--+</langsyntaxhighlight>
 
=={{header|Nim}}==
<langsyntaxhighlight lang="nim">import math
 
echo pow(0.0, 0.0) # Floating point exponentiation.
echo 0 ^ 0 # Integer exponentiation.</langsyntaxhighlight>
{{out}}
<pre>1.0
Line 993:
=={{header|Oforth}}==
 
<syntaxhighlight lang Oforth="oforth">0 0 pow println</langsyntaxhighlight>
 
{{out}}
Line 1,001:
 
=={{header|Ol}}==
<langsyntaxhighlight lang="scheme">
(print "0^0: " (expt 0 0))
(print "0.0^0: " (expt (inexact 0) 0))
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 1,012:
 
=={{header|ooRexx}}==
<langsyntaxhighlight lang="oorexx">/**********************************************************************
* 21.04.2014 Walter Pachl
**********************************************************************/
Say 'rxCalcpower(0,0) ->' rxCalcpower(0,0)
Say '0**0 ->' 0**0
::requires rxmath library</langsyntaxhighlight>
{{out}}
<pre>
Line 1,026:
 
=={{header|Openscad}}==
<syntaxhighlight lang ="openscad">echo (0^0);</langsyntaxhighlight>
 
 
=={{header|PARI/GP}}==
0 raised to the power of exact 0 is 0, but 0 cannot be raised to the power of an inexact 0:
<langsyntaxhighlight lang="parigp">0^0
0.^0
0^0.</langsyntaxhighlight>
{{out}}
<pre>%1 = 1
Line 1,044:
=={{header|Pascal}}==
{{works with|Free Pascal}} {{Libheader|math}}
<langsyntaxhighlight Pascallang="pascal">program ZToZ;
uses
math;
Line 1,050:
write('0.0 ^ 0 :',IntPower(0.0,0):4:2);
writeln(' 0.0 ^ 0.0 :',Power(0.0,0.0):4:2);
end.</langsyntaxhighlight>
;output:
<pre>0.0 ^ 0 :1.00 0.0 ^ 0.0 :1.00</pre>
 
=={{header|Perl}}==
<langsyntaxhighlight lang="perl">print 0 ** 0, "\n";
 
use Math::Complex;
 
print cplx(0,0) ** cplx(0,0), "\n";</langsyntaxhighlight>
{{out}}
<pre>
Line 1,068:
=={{header|Phix}}==
{{libheader|Phix/basics}}
<!--<langsyntaxhighlight Phixlang="phix">(phixonline)-->
<span style="color: #0000FF;">?</span><span style="color: #7060A8;">power</span><span style="color: #0000FF;">(</span><span style="color: #000000;">0</span><span style="color: #0000FF;">,</span><span style="color: #000000;">0</span><span style="color: #0000FF;">)</span>
<span style="color: #7060A8;">requires</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"0.8.4"</span><span style="color: #0000FF;">)</span> <span style="color: #000080;font-style:italic;">-- (now fixed/crashes on earlier versions)</span>
Line 1,077:
<span style="color: #000000;">sb</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">complex_sprint</span><span style="color: #0000FF;">(</span><span style="color: #000000;">b</span><span style="color: #0000FF;">,</span><span style="color: #004600;">true</span><span style="color: #0000FF;">)</span>
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%s ^ %s = %s\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">sa</span><span style="color: #0000FF;">,</span><span style="color: #000000;">sa</span><span style="color: #0000FF;">,</span><span style="color: #000000;">sb</span><span style="color: #0000FF;">})</span>
<!--</langsyntaxhighlight>-->
{{out}}
<pre>
Line 1,085:
 
=={{header|Phixmonti}}==
<langsyntaxhighlight Phixmontilang="phixmonti">def mypower
dup not if
. sign dup 0 == if . 1 endif
Line 1,093:
enddef
 
0 0 mypower print</langsyntaxhighlight>
{{out}}
<pre>1</pre>
 
=={{header|PHP}}==
<langsyntaxhighlight PHPlang="php"><?php
echo pow(0,0);
echo 0 ** 0; // PHP 5.6+ only
?></langsyntaxhighlight>
{{out}}
<pre>
Line 1,109:
 
=={{header|PicoLisp}}==
<syntaxhighlight lang="picolisp">
<lang PicoLisp>
(** 0 0)
</syntaxhighlight>
</lang>
{{out}}
1
 
=={{header|Pike}}==
<langsyntaxhighlight Pikelang="pike">write( pow(0, 0) +"\n" );</langsyntaxhighlight>
{{Out}}
<pre>
Line 1,123:
 
=={{header|PL/I}}==
<langsyntaxhighlight lang="pli"> zhz: Proc Options(Main);
Dcl a dec float(10) Init(1);
Dcl b dec float(10) Init(0);
Line 1,129:
Put skip list('0**1=',b**a);
Put skip list('0**0=',b**b);
End;</langsyntaxhighlight>
{{out}}
<pre>
Line 1,140:
 
=={{header|Plain English}}==
<langsyntaxhighlight lang="plainenglish">To run:
Start up.
Put 0 into a number.
Line 1,147:
Write the string to the console.
Wait for the escape key.
Shut down.</langsyntaxhighlight>
{{out}}
<pre>
Line 1,155:
=={{header|PowerShell}}==
 
<langsyntaxhighlight lang="powershell">Write-Host "0 ^ 0 = " ([math]::pow(0,0))</langsyntaxhighlight>
 
Output :
Line 1,164:
 
=={{header|PureBasic}}==
<syntaxhighlight lang="purebasic">
<lang PureBasic>
If OpenConsole()
PrintN("Zero to the zero power is " + Pow(0,0))
Line 1,172:
CloseConsole()
EndIf
</syntaxhighlight>
</lang>
 
{{out}}
Line 1,180:
 
=={{header|Pyret}}==
<syntaxhighlight lang Pyret="pyret">num-expt(0, 0)</langsyntaxhighlight>
{{out}}
1
Line 1,186:
=={{header|Python}}==
===Python3===
<langsyntaxhighlight lang="python">from decimal import Decimal
from fractions import Fraction
from itertools import product
Line 1,196:
except:
ans = '<Exception raised>'
print(f'{i!r:>15} ** {j!r:<15} = {ans!r}')</langsyntaxhighlight>
{{out}}
<pre> 0 ** 0 = 1
Line 1,264:
 
===Python2===
<langsyntaxhighlight lang="python">from decimal import Decimal
from fractions import Fraction
for n in (Decimal(0), Fraction(0, 1), complex(0), float(0), int(0)):
Line 1,275:
except:
n2 = '<Raised exception>'
print('%8s: ** -> %r; pow -> %r' % (n.__class__.__name__, n1, n2))</langsyntaxhighlight>
{{out}}
<pre>
Line 1,286:
 
=={{header|QB64}}==
<syntaxhighlight lang ="qb64">Print 0 ^ 0</langsyntaxhighlight>
{{out}}
<pre>1</pre>
Alternatively:
<langsyntaxhighlight QB64lang="qb64">i% = 0 'Integer
l& = 0 'Long integer
s! = 0.0 'Single precision floating point
Line 1,304:
Print b` ^ b`
Print bb%% ^ bb%%
Print isf&& ^ isf&&</langsyntaxhighlight>
{{out}}
NB: Values with 0 decimals are trimmed by Print's casting from number value to String.
Line 1,318:
As a dialogue in the Quackery shell.
 
<langsyntaxhighlight Quackerylang="quackery">/O> 0 0 **
...
 
Stack: 1
</syntaxhighlight>
</lang>
 
=={{header|R}}==
<syntaxhighlight lang ="rsplus">print(0^0)</langsyntaxhighlight>
{{out}}
<pre>1</pre>
Line 1,331:
=={{header|Racket}}==
 
<langsyntaxhighlight lang="racket">#lang racket
;; as many zeros as I can think of...
(define zeros (list
Line 1,344:
(printf "(~a)^(~a) = ~s~%" z p
(with-handlers [(exn:fail:contract:divide-by-zero? exn-message)]
(expt z p))))</langsyntaxhighlight>
 
{{out}}
Line 1,388:
 
{{works with|Rakudo|2018.03}}
<syntaxhighlight lang="raku" perl6line>say ' type n n**n exp(n,n)';
say '-------- -------- -------- --------';
 
for 0, 0.0, FatRat.new(0), 0e0, 0+0i {
printf "%8s %8s %8s %8s\n", .^name, $_, $_**$_, exp($_,$_);
}</langsyntaxhighlight>
 
{{out}}
Line 1,408:
=={{header|Red}}==
Shown using the operator, the function, and the <code>math</code> mini-DSL that uses the order of operations from mathematics:
<langsyntaxhighlight lang="rebol">Red[]
print 0 ** 0
print power 0 0
print math [0 ** 0]</langsyntaxhighlight>
{{out}}
<pre>
Line 1,420:
 
=={{header|Relation}}==
<syntaxhighlight lang="relation">
<lang Relation>
echo pow(0,0)
// 1
</syntaxhighlight>
</lang>
 
=={{header|REXX}}==
<langsyntaxhighlight lang="rexx">/*REXX program shows the results of raising zero to the zeroth power.*/
say '0 ** 0 (zero to the zeroth power) ───► ' 0**0</langsyntaxhighlight>
<br>using PC/REXX
<br>using Personal REXX
Line 1,458:
 
=={{header|Ring}}==
<langsyntaxhighlight lang="ring">
x = 0
y = 0
z = pow(x,y)
see "z=" + z + nl # z=1
</syntaxhighlight>
</lang>
 
=={{header|Ruby}}==
<langsyntaxhighlight lang="ruby">require 'bigdecimal'
 
[0, 0.0, Complex(0), Rational(0), BigDecimal("0")].each do |n|
printf "%10s: ** -> %s\n" % [n.class, n**n]
end</langsyntaxhighlight>
{{out}}
<pre>
Line 1,481:
 
=={{header|Rust}}==
<langsyntaxhighlight lang="rust">fn main() {
println!("{}",0u32.pow(0));
}</langsyntaxhighlight>
 
{{out}}
Line 1,489:
 
=={{header|S-lang}}==
<syntaxhighlight lang S="s-lang">print(0^0);</langsyntaxhighlight>
{{out}}
<pre>1.0</pre>
 
=={{header|Scala}}==
{{libheader|Scala}}<langsyntaxhighlight Scalalang="scala"> assert(math.pow(0, 0) == 1, "Scala blunder, should go back to school !")</langsyntaxhighlight>
 
=={{header|Scheme}}==
<langsyntaxhighlight lang="scheme">(display (expt 0 0)) (newline)
(display (expt 0.0 0.0)) (newline)
(display (expt 0+0i 0+0i)) (newline)</langsyntaxhighlight>
{{out}}
<pre>1
Line 1,506:
 
=={{header|Seed7}}==
<langsyntaxhighlight lang="seed7">$ include "seed7_05.s7i";
include "float.s7i";
include "complex.s7i";
Line 1,517:
writeln("0.0+0i ** 0 = " <& complex(0.0) ** 0);
end func;
</syntaxhighlight>
</lang>
 
{{out}}
Line 1,528:
 
=={{header|SenseTalk}}==
<langsyntaxhighlight lang="sensetalk">set a to 0
set b to 0
 
put a to the power of b
// Prints: 1</langsyntaxhighlight>
 
=={{header|Sidef}}==
<langsyntaxhighlight lang="ruby">[0, Complex(0, 0)].each {|n|
say n**n
}</langsyntaxhighlight>
{{out}}
<pre>
Line 1,546:
Taking the 0'th root of a number and raising it back to the zero power, we also get a 1:
 
<langsyntaxhighlight lang="ruby">say 0.root(0).pow(0) # => 1
say ((0**(1/0))**0) # => 1</langsyntaxhighlight>
 
=={{header|Sinclair ZX81 BASIC}}==
<syntaxhighlight lang ="basic">PRINT 0**0</langsyntaxhighlight>
{{out}}
<pre>1</pre>
Line 1,556:
=={{header|Smalltalk}}==
 
<langsyntaxhighlight lang="smalltalk">
0 raisedTo: 0
0.0 raisedTo: 0.0
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 1,567:
 
=={{header|smart BASIC}}==
<syntaxhighlight lang ="qbasic">PRINT 0^0</langsyntaxhighlight>
 
{{out}}
Line 1,576:
 
=={{header|SNOBOL4}}==
<langsyntaxhighlight lang="snobol4"> OUTPUT = (0 ** 0)
END</langsyntaxhighlight>
 
 
=={{header|SQL}}==
<syntaxhighlight lang="sql">
<lang SQL>
SQL> select power(0,0) from dual;
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 1,599:
 
=={{header|Stata}}==
<langsyntaxhighlight lang="stata">. display 0^0
1</langsyntaxhighlight>
 
=={{header|Swift}}==
<langsyntaxhighlight lang="swift">import Darwin
print(pow(0.0,0.0))</langsyntaxhighlight>
{{out}}
<pre>1.0</pre>
 
=={{header|Symsyn}}==
<syntaxhighlight lang="symsyn">
<lang Symsyn>
(0^0) []
</syntaxhighlight>
</lang>
{{out}}
<pre> 1 </pre>
Line 1,617:
=={{header|Tcl}}==
Interactively…
<langsyntaxhighlight lang="tcl">% expr 0**0
1
% expr 0.0**0.0
1.0</langsyntaxhighlight>
 
=={{header|TI-83_BASIC}}==
<syntaxhighlight lang ="tibasic">0^0</langsyntaxhighlight>
{{out}}
<pre>ERROR:DOMAIN</pre>
 
=={{header|uBasic/4tH}}==
<syntaxhighlight lang="text">Print 0^0</langsyntaxhighlight>
{{out}}
<pre>1
Line 1,636:
=={{header|Ursa}}==
Cygnus/X Ursa is written in Java, and as a result returns 1.0 when raising 0 to the 0.
<langsyntaxhighlight lang="ursa">> out (pow 0 0) endl console
1.0</langsyntaxhighlight>
 
=={{header|VBA}}==
<langsyntaxhighlight lang="vb">Public Sub zero()
x = 0
y = 0
z = 0 ^ 0
Debug.Print "z ="; z
End Sub</langsyntaxhighlight>{{out}}
<pre>z = 1</pre>
 
=={{header|VBScript}}==
<syntaxhighlight lang ="vb">WScript.Echo 0 ^ 0</langsyntaxhighlight>
{{Out}}
<pre>1</pre>
Line 1,655:
 
=={{header|Verilog}}==
<langsyntaxhighlight Veriloglang="verilog">module main;
initial begin
$display("0 ^ 0 = ", 0**0);
$finish ;
end
endmodule</langsyntaxhighlight>
{{out}}
<pre>0 ^ 0 = 1</pre>
Line 1,666:
 
=={{header|Visual Basic .NET}}==
<langsyntaxhighlight lang="vbnet">Module Program
Sub Main()
Console.Write(0^0)
End Sub
End Module</langsyntaxhighlight>
 
{{out}}
Line 1,676:
 
=={{header|Vlang}}==
<langsyntaxhighlight lang="go">// Zero to the zero power, in V
// Tectonics: v run zero-to-the-zero-power.v
module main
Line 1,685:
pub fn main() {
println(math.pow(0, 0))
}</langsyntaxhighlight>
{{out}}<pre>prompt$ v run rosetta/zero-to-the-zero-power.v
1.</pre>
 
=={{header|Wren}}==
<langsyntaxhighlight lang="ecmascript">System.print(0.pow(0))</langsyntaxhighlight>
 
{{out}}
Line 1,698:
 
=={{header|XLISP}}==
<langsyntaxhighlight lang="scheme">XLISP 3.3, September 6, 2002 Copyright (c) 1984-2002, by David Betz
[1] (expt 0 0)
 
1
[2] </langsyntaxhighlight>
 
=={{header|XPL0}}==
<langsyntaxhighlight XPL0lang="xpl0">RlOut(0, Pow(0., 0.))</langsyntaxhighlight>
{{out}}
<pre> 1.00000</pre>
 
=={{header|Zig}}==
<langsyntaxhighlight lang="zig">const std = @import("std");
 
pub fn main() !void {
const stdout = std.io.getStdOut().writer();
try stdout.print("0^0 = {d:.8}\n", .{std.math.pow(f32, 0, 0)});
}</langsyntaxhighlight>
{{out}}
<pre>0^0 = 1.00000000</pre>
 
=={{header|zkl}}==
<langsyntaxhighlight lang="zkl">(0.0).pow(0) //--> 1.0
var BN=Import("zklBigNum"); // big ints
BN(0).pow(0) //--> 1</langsyntaxhighlight>