来自 c 的随机十六进制答案

Posted

技术标签:

【中文标题】来自 c 的随机十六进制答案【英文标题】:random hexadecimal answers from c 【发布时间】:2013-10-03 00:11:25 【问题描述】:

我试图从我的代码主体中排除我的二次方程,现在它返回十六进制数字......这些数字非常随机地返回,它们的值大约每 3-10 次运行程序改变一次,即使变量是恒定的。这远远超出了我对 C++ 的了解。

理想情况下,我希望以双精度数据类型和 10 为底返回二次方程的根。

最后注释掉的部分只是为了向您展示我最初所做的事情,虽然大部分都是多余的。

提前致谢。

#include <iostream>
#include <cmath>
using namespace std;


double a,b,c,bsq;

double quadpos() 

    double quadpos = (-b+(sqrt((bsq)-4.0*a*c)))/(2.0*a);

    double a=1.0,b=2.0,c=1.0;
    double bsq = pow(2.0,2);

    return quadpos;


double quadneg() 

    double quadneg = (-b-(sqrt((bsq)-4.0*a*c)))/(2.0*a);
    return quadneg;



int main() 
    // 4a)
    cout << /*" - Question 4 - \n\n" << "Part A\n" << */quadpos << "\n" << quadneg << std::endl;

    /*float a = 5.0, b = 7.0, c = -8.0;
    int bsq;
    bsq = pow(b,2);
    double quadpos = (-b+(sqrt((bsq)-4.0*a*c)))/(2.0*a), quadneg = (-b-(sqrt((bsq)-4.0*a*c)))/(2.0*a);

    cout << a << "\n" << b << "\n" << c << "\n" << bsq << "\n" << quadpos << "\n" << quadneg << endl;
    The above line is used for troubleshooting

    cout << "The roots of the quadratic equation 5x^2 + 7x - 8 are " << quadpos << " and " << quadneg << ".\n" << "The roots are the values of the x variable when the equation, 5x^2 + 7x - 8 is equal to 0.\n" << endl;
    */

【问题讨论】:

请注意随机变化的数字是这里的主要问题。谢谢 【参考方案1】:
cout << /* ... */ quadpos << "\n" << quadneg << std::endl;
                       ^^^^ ?

您正在直接打印函数并获取它们的地址(在此上下文中它们被解释为函数指针)。而不是quadpos 你想要quadpos()

【讨论】:

非常感谢您的快速回复。如果我遇到困难,我会继续努力并发布。 :) 它的工作原理:D

以上是关于来自 c 的随机十六进制答案的主要内容,如果未能解决你的问题,请参考以下文章

c语言 随机生成一个32位的16进制数的代码

如何在 C/C++ 中随机翻转 char 的二进制位

随机颜色十六进制

如何在MATLAB中将原始Unicode十六进制转换为Unicode表示

如何在sql中产生随机的十六进制颜色?

c语言如何随机产生32位二进制数,求程序。。。