项目里看到一段代码,我笑了,看看你是怎么优化的

一一无念 发布于 2013/03/04 17:07
阅读 1K+
收藏 3

 byte[] bTest = new byte[2];
bTest[0]= //赋值
bTest[1]= //赋值
int iTest = 0;
iTest = bTest[0] & 0xFF;
iTest |= bTest[1]<<8) & oxFFFF;
float fTest = iTest * 1.00;
string strTest;

strTest = fTest.ToString();

写下你的优化下

加载中
2
我不是小强
我不是小强

(bTest[1] << 8) + bTest[0]

beves
beves
嗯,正解
0
Lukewxl
Lukewxl
//bTest[0] 没有用吧
byte bTest=//赋值
int iTest=bTest<<8) & oxFFFF;
String strTest=iTest.toString()
0
Lukewxl
Lukewxl

//bTest[0] 没有用吧
byte bTest=//赋值
int iTest=bTest<<8) & oxFFFF;
String strTest=iTest.toString()

0
David_Lee_
David_Lee_
iTest*1.00这是干嘛? 没看懂
0
一一无念
一一无念

引用来自“wangxinli”的答案

//bTest[0] 没有用吧
byte bTest=//赋值
int iTest=bTest<<8) & oxFFFF;
String strTest=iTest.toString()

byte[] bTest = new byte[2];
bTest[0]= 0x10 //赋值
bTest[1]=0x11//赋值
int iTest = 0;  //中间量
iTest = bTest[0] & 0xFF;
iTest |= (bTest[1]<<8) & 0xFF00; //
float fTest = iTest * 1.00; //转化为有精度的浮点数
string strTest; strTest = fTest.ToString(); //再转化为string

大概是这个意思

0
8
870177103
c#不太会,我看了一下,效率优化的话,strTest是个常数
0
8
870177103
其实你们不用鄙视那个开发者 或许这段代码是用了测试编译器能力的呢,上面变量不是都叫做test吗,呵呵
xyxo
xyxo
是啊,个人也觉得楼主可能断章取义了~~也许人家本意不是这样吧!
Timor君
Timor君
这个可能是真相
0
变成马甲了哈哈
变成马甲了哈哈
有时候代码量和奖金是挂钩的。
0
巩京京
巩京京
直接写个常量就好了,大费周折
0
Sky__
Sky__
表示看不懂...
返回顶部
顶部