能否定义一个有90位的数据类型?(博弈算法用)(100分)

  • 主题发起人 主题发起人 chy578
  • 开始时间 开始时间
C

chy578

Unregistered / Unconfirmed
GUEST, unregistred user!

  我要用位来表示象棋棋盘,所以要很大。
  90位或大一点也可以,也就是12bit 也可以。
  能进行or 和 xor 运算就行。
  主要要求是速度快,我得进行这种运算上十亿次。
  有解还是无解呢?
 
int64 有8个字节,8*8共 64 bit,可以位操作,
另外MMX指令可操作10个字节,共 80 bit,也可位操作
 
好像现在的PC 最多只有64 位操作。 唉,要是有128位该多好。
 
用string,哈哈
 
我也这样想过,你想用一个数表示一个棋局吧,这样比较两个棋局是否一样就比较
两个数是否相等就行了。这个好像用在五子连比较好。
 
我找到了PC用128位的方法。。。
   用MMX 技术, 不过要  Intel&reg
C/C++ Compiler version  我到处都找不到。
   哪位老大知道哪里下呢?
 
教育网里有,我见过但没下载(不会用:< ),你用天网搜搜应该能找到
 
用一个数组吧
 
数组慢得要死。 C 语言在这个时侯是那么的无能为力。
 
你在搞笑吧!象棋棋盘是9*10大小的,上面的棋子有14种你至少要10*14=140位才能操作;
还是用一个字节表示两个位置好了.
 
定义一个记录可以吗?两个Int64
C中的位域可不可以
 
Intel&amp;reg
C/C++ Compiler version

可以到Intel的网站下载,然后再去找个破解就OK咯。
 
我还是准备用数组了,然后用汇编来计算。
Intel? C/C++ Compiler version 我早下到了,就是找不到破解。。
 
确实是,用汇缟定义数据的读写比较合适。
数据类型声明成3个整数(12字节)比较合适,
正好是双字对齐。
 
要看你用什么算法而定
 
看来只有嵌入汇编自已解决了。
 

Similar threads

后退
顶部