[问题] int将资讯相加后如何切割

楼主: jiqian (JIM)   2015-06-05 14:49:45
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++
问题(Question):
程式一
predict(InputArray _src, int &minClass, double &minDist)
会将int值1~1000做一个随机排序,之后取五个int
但这个程式只能回传一个int及一个double
不可以回传阵列
程式二
接收程式一得到的int以及double,想办法变成五个int,做一个有序(原本随机取得的顺序)排列
请问我该如何达成这件事
有想说转成字串用9999之类的来隔开,但是int长度有限制没办法这么做
请问有人有遇过类似的事情,有什么办法可以做到吗?
谢谢各位的解答!
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-06-05 15:00:00
转成字串跟int长度有限制有什么关系 看不懂
作者: ctrlbreak   2015-06-05 15:45:00
double返回58897414352, int返回12332, 就知道怎么切了不考虑double会不会失真 XD返回5.8897414352, 再从int的资料算有几位数是需要的..细节自己再想想 XD另一个方法1000最多占10bits, double可以存64bits,所以囉做一下位元运算也是很容易办到的
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-06-05 16:00:00
为什么不可以回传阵列
作者: ctrlbreak   2015-06-05 16:03:00
作业要求的吧XD
作者: azureblaze (AzureBlaze)   2015-06-05 16:05:00
数值应该有范围限制?
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-06-05 16:05:00
要求排序还不可以传出阵列 什么垃圾作业 拒交
作者: fireslayer (fireslayer)   2015-06-05 17:18:00
同意拒交 垃圾作业
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-06-05 17:29:00
怕内存会漏就传个阵列进去给他写阿
作者: ctrlbreak   2015-06-05 18:08:00
技巧练习, 多媒体业满常用的XD
作者: prismwu   2015-06-05 19:33:00
位元运算塞在double似乎比较简单
作者: suhorng ( )   2015-06-05 19:43:00
呃...接收程式一得到的 int, 那 double 呢? 收不到?
作者: overhead (overhead)   2015-06-05 20:38:00
满好奇为何多媒体业要用这种怪异写法?超难看不合理
作者: ctrlbreak   2015-06-05 20:51:00
主要还是压缩, 省空间...intel CPU SSE指令集都是这类的运算 XD
作者: cismjmgoshr (--???--)   2015-06-05 21:37:00
double的尾数(mantissa)有51+1bit,5个1~1000的数字需要5*10 bit,塞进double很够用了1~1000改成0~999,例如选到5、88、974、143、52的话minDist = 408797314251. int就放著不管好了...minDist = 4,087,973,142,051 上面那行打错了
作者: anyoiuo   2015-06-05 21:50:00
好奇怪,这样搞那那个命名是怎回事

Links booklink

Contact Us: admin [ a t ] ucptt.com