C#下运算的问题
已知string DATAH和DATAL;
请问在C#中,int V = ((DATAH & 03H) *256 + DATAL) * 5.0/1024;这个公式该怎么写啊?
DATAH与03H(十六进制)运行&操作
请求大侠帮忙,呵呵!
如果DATAH和DATAL是数字字符串:
int datah = int.Parse(DATAH);
int datal = int.Parse(DATAL);
int v = ((DATAH & 03H) * 256 + DATAL) * 5.0/1024
16进制数值表示很简单,0x3...
但是string不能做&操作,必须转换为byte[]...这就有个问题,你必须先声明字符串的编码,在.NET中所有字符都是unicode编码,如果你不明确编码运算结果就不是你想要的...
先将DATAH和DATAL转成int
C# code:
public int Calculate(string DATAH)
{
return (Convert.ToInt64(DATAH & 03H) *256 + Convert.ToInt64(DATAL)) * 5.0/1024
}
看来理解有点问题...如果你这两个string只是数值的字符串表示形式,转换一下即可...
还有个问题,03H是什么?变量?常量?就算是十六进制数也出不来H啊……
还有十六进制和十进制混算……不出错都难,256十六进制写法是100,而十六进制的256换算成十进制是598看的好乱……
谢谢几位大侠
int V = Convert.ToInt32(((int.Parse(DATA
相关问答:
//C 接口
extern "C"
{
TESSDLL_API int __cdecl GetTessText(const char *imagefile, char *text);
}
//我在C#中声明
//调用C DLL 中的函数
[DllImport("OCRapi.dll&quo ......
有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......
最近,做了个百度“阳光牧场”网页游戏的外挂,其中的核心环节是“登录”,在一个月以前,我的外挂能正常运行,可最近一段时间,不能正常登录了,现在我将我的登录部分贴出来,请求高手帮我看一下。谢谢。
HTTP请求 ......
有一台数据库服务器,客户端使用ADO.NET连接sql,使用ExecuteScalar执行SQL INSERT语句,然后客户端刷新不能查询到新INSERT的数据,过10秒左右才能查到新数据
什么原因
你做了缓存吗?
没做缓存
怎么会呢! ......