lammps的程序语言和matelab一样吗

lammps的程序语言和matelab一样吗,第1张

不一样。

LAMMPS是针对分子动力学模拟的软件语言,matelab是全功能材料设计与性质预测平台,对材料及相关领域问题提供快速且可靠的解答。

程序语言是用来定义计算机指令执行流程的形式化语言。每种程序语言都包含一整套词汇和语法规范。这些规范通常包括数据类型和数据结构、指令类型和指令控制、调用机制和库函数以及不成文的规定。

因为没有电路,所以程序我就没法给你写,给你个思路.

第一,不知道你的a和b是什么类型的,如果是定义成浮点型,那么,可以这样写:

float f_Div = a/b

如果两个有一个是整形的,那么,把整型强制转换成浮点型:

float f_Div = (float)a/(float)b

注意,那个f_Div变量必须是float型,才能有小数产生

第二,你要进行显示,肯定要把各个位都取出来,这里面肯定有一个取模运算,就是"%",

对于浮点型,不运行取模运算的,所以,你必须把浮点型转换成整型,但是,不能强制转换,

比如: unsigned int I_Div = (unsigned int)f_Div这是不可以的,你的小数部分就没有了.

所以,你必须要放大一定的倍数,根据你的要求,你是要保留三位,那么,这里还有个问题,你的

小数点之前有几位,决定了你小数点后面保留几位.

比如,你得到的结果是 1.2345,那么,你就保留1.23

如果你得到的结果是 12.345,那么,就保留12.3

如果你得到的结果是 123.45,你就只能保留123了

如果得到的结果是 0.123,你就只能保留 0.12

所以可以看出,你的浮点型结果整数部分有多少位,决定了你的小数能保留多少位,所以还要进行如下运算:

unsigned int i_Div = unsigned int)f_Div

unsigned char Dot_Bit = 0//---这个变量用来表示在第几位上显示小数点,因为

//---通过下面的操作,已经把小数变成整数了

if(I_Div >= 100) //---表示前面有3个整数部分位

{

//---那就没什么可操作的,unsigned int i_Div = unsigned int)f_Div就符合要求

}

else if (I_DIV >= 10) //---表示整数部分有2位

{

I_DIV = f_Div *10

Dot_Bit = 1//---在右数第2个地方显示小数点,也就是十位后显示小数点

}

else

{

I_DIV = f_Div *10

Dot_Bit = 2//---在右数第2个地方显示小数点,也就是最前面那位后面显示

}

void Display(void)

{

unsigned char Hundred = I_Div/100

unsigned char TenBit = (I_Div/%00)/10

unsigned char TenBit = I_Div%10

....... //然后就开始显示了


欢迎分享,转载请注明来源:聚客百科

原文地址: http://juke.outofmemory.cn/pretty/2964586.html

()
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-02-15
下一篇 2023-02-15

发表评论

登录后才能评论

评论列表(0条)

保存