编写java程序,double tind(int n) 方法功能求2的N次方 程序中调用该方法 输出2的40次方并输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写java程序,double tind(int n) 方法功能求2的N次方 程序中调用该方法 输出2的40次方并输出相关的知识,希望对你有一定的参考价值。
参考技术A public class test10/**
* @param args
*/
public static void main(String[] args)
// TODO Auto-generated method stub
double b;
b=tind(40);
System.out.println(b);
static double tind(int n)
double s=1;
for(int i=0;i<n;i++)
s=2*s;
return s;
本回答被提问者采纳 参考技术B import java.util.Vector;
public class Test //a的b次幂
public static void main(String[] args)
int m=40;
Test test = new Test();
double pow = test.tind(m);
System.out.println(pow);
private static double tind(int m)
int NUM = 2;
Vector<Integer> myVector = new Vector<Integer>();
int bigNum = 1;
myVector.add(bigNum);
int i;
int certerNum = 0;
int newNum;
for (int j = 0; j < m; j++)
int flag = 0;
for (i = 0; i < myVector.size(); i++)
certerNum = ((Integer) myVector.elementAt(i)) * NUM + flag;
newNum = certerNum % 10;
flag = certerNum / 10;
myVector.set(i, newNum);
if ((certerNum >= 10) && (i == myVector.size()))
myVector.add(flag);
String str = "";
for (int k = myVector.size() - 1; k >= 0; k--)
str += myVector.elementAt(k);
System.out.println(str);
double d = Double.parseDouble(str);
return d;
参考技术C 计算 2的多少次方 直接用 移位操纵 效率最高
例如 2<<1 =2^2
2<<2=2^3
double tind(int n)
if(n=0)
return 1;
return 2<<(n-1)
参考技术D double tind(int n)
System.out.println(Math.pow(2, 40));
return Math.pow(2, 40);
c#调用C、C++编写的dll
用c++编写了一个dll,现在要供c#调用,
在c++中调用的格式为:
typedef void (*CALLBACKF) (char **, int, double, char **);
typedef bool (*FUN)(char *, double , double , double , CALLBACKF, int);
dll=LoadLibrary(dllLocation);
FUN fun1=(FUN)GetProcAddress(dll, "fun");
在c#中如何实现?谢谢~
我需要的是如何输入输出 数组,题中的是char数组,包括一维和多维,我是这样写的
c中的callback在c#中如何实现?
// cmdll.c
// compile with: /LD
int __declspec(dllexport) SampleMethod(int i)
return i*10;
该示例使用两个文件 CM.cs 和 Cmdll.c 来说明 extern。C 文件是示例 2 中创建的外部 DLL,它从 C# 程序内调用。
// cm.cs
using System;
using System.Runtime.InteropServices;
public class MainClass
[DllImport("Cmdll.dll")]
public static extern int SampleMethod(int x);
static void Main()
Console.WriteLine("SampleMethod() returns 0.", SampleMethod(5));
参考资料:MSDN
参考技术B 将该DLL文件复制到C#的BIN下面就可以了撒 参考技术C 回调函数我用过,定义这个typedef void (*CALLBACKF) (char **, int, double, char **);
回调函数
using System.Runtime.InteropServices;
class API
[UnmanagedFunctionPointerAttribute(CallingConvention.Cdecl)]
//上面这个可能不要 可能要,具体看你这个回调函数的调用方式是cdecl调用还是其他。
public delegate void ChCallback(参数自己一一对应);
[DllImport("Cmdll.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
public static extern bool FUN(char *, double , double , double ,ChCallback CallBack,int );
参数自己对应写,我的意思是自己定义一个delegate 对应C++ 中的CALLBACKF 然后再放到 fun参数里
然后其他类里实例api这个类后
pcallback = new API.ChCallback(MTEvent);
MTEvent为事件处理函数 意思就是typedef void (*CALLBACKF) (char **, int, double, char **);
这个在C#的具体回调实例!
public MTEvent(char **, int, double, char **)'
char 数组用 string接受
char *,这样定义
int len=128;
IntPtr cha = Marshal.AllocHGlobal(len);
len中间的len你自己看分配多少内存!cha 这就是一个指针。就是指向你分配的一块内存,然后把这个指针传递进去!本回答被提问者采纳
以上是关于编写java程序,double tind(int n) 方法功能求2的N次方 程序中调用该方法 输出2的40次方并输出的主要内容,如果未能解决你的问题,请参考以下文章
11.按要求编写Java应用程序。 创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)减速(车速自减)修改车牌号,查询车的(代码片段
按要求编写Java应用程序。 创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)减速(车速自减)修改车牌号,查询车的载重量(代码片段
C语言编写程序,对一个double型数据进行四舍五入,要求保留两位有效小数,求算法。
3.编写一个函数double sigma(double a[], int n,*aver);返回数组a[]中n个实数的方差 求答案 急急急