Thread overview
Error in code calculation
Apr 29, 2021
Sergei
Apr 29, 2021
jmh530
Apr 29, 2021
jmh530
April 29, 2021

When raising to a power of a fractional number, an incorrect subtraction occurs:

import std.stdio;

void main()
{
float x;
x=1/2;
writeln (4^^x);
writeln (4^^(1/2));
}

April 29, 2021

On Thursday, 29 April 2021 at 17:17:11 UTC, Sergei wrote:

>

When raising to a power of a fractional number, an incorrect subtraction occurs:

import std.stdio;

void main()
{
float x;
x=1/2;
writeln (4^^x);
writeln (4^^(1/2));
}

Probably more approach for Learn.

Your problem becomes apparent if you writeln(x). The calculation does integer division (1 goes 0 times into 2) and then assigns that to a float. What you want is x=1.0/2; and 4^^(1.0/2).

April 29, 2021

On Thursday, 29 April 2021 at 17:26:29 UTC, jmh530 wrote:

>

[snip[

Probably more approach for Learn.

Probably more appropriate for Learn.