首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解释如何解释函数中的十六进制值

解释如何解释函数中的十六进制值
EN

Stack Overflow用户
提问于 2010-08-19 19:01:04
回答 1查看 147关注 0票数 0

我的程序运行得很完美,但这是通过反复试验来实现的;我正在试图从基本原则上掌握事情是如何真正工作的。如有任何解释,我将不胜感激。此函数与十六进制值通信的是什么?

代码语言:javascript
复制
  for (i=0; i<5;i++)
{
    cd=(int)(((numpairs[i])&0xf0)>>4);

    if((numpairs[i]&0xf)>(0x0))
    {
        if(highest<cd)
        {
            //printf("%d\n",cd);
            highest= cd;
            cd=-1;
            winner = i+1;
        //  printf(" highest: %d winner: %d\n", highest,winner);
        }
        if(highest==cd) 
        {
            highest =0;
            break;
            //printf(" highest: %d winner: %d", highest,winner);
        }
    }
}
printf("\n---------------RESULT--------------\n");
if(highest>0)
{
    printf("Winner is hand %d with a pair of %s\n", winner, values[highest]);
}
else
    printf("*** DRAW ***\n");
  // ========================Function 2=======================================
pairs findpairs(card *hand)
 {
int i;
card cd1, cd2,cd3, card=0;
pairs numpairs=0;  
for(i=1; i<4;i=i+2)
  {
cd1=hand[i];
cd2=hand[i-1];
cd3=hand[i+1];
cd1= (cd1&0x3c)>>2;
cd2= (cd2&0x3c)>>2;
cd3= (cd3&0x3c)>>2;
if (cd1==cd2 || cd1==cd3)
{
    numpairs++;
//  printf("num pairs: %d\n", numpairs);
    card=cd1;
} 
 } 
EN

回答 1

Stack Overflow用户

发布于 2010-08-19 19:08:48

正在执行Logical &操作。

代码语言:javascript
复制
0x3C is equal to  0011 1100 . 
0xf0 is equal to  1111 0000
0xf is equal to   0000 1111

取决于正在对其进行操作的数据类型。一个字节由8位组成,如果所有位都已设置,则其十六进制等效值为0xFF。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3521058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档