小编Dav*_*vid的帖子

位移掩模仍然无法实现

有人可以看看这个草率的代码,并向我解释为什么它不起作用.我是否正确包装和拆包?(这个实验的目的是使用位移和屏蔽来打包日期.例如31/12/99的控制台输入将被"或"在一起然后"取消",这是我的代码试图做的.谢谢.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#define DAY_MASK 0x3e0
#define MONTH_MASK 0xc00
#define YEAR_MASK (~0x3180)

void hr()
{
    printf("-----------------------------------------------\n");
}

void fields()
{
    printf("     Binary\t\tDTG\t\tBase 10\n");
}

void prnFields(unsigned int *day, unsigned int *month, unsigned int *year)
{
    printBits(day);
    printf("\tDay\t\t%u\n", day);
    printBits(month);
    printf("\tMonth\t\t%u\n", month);
    printBits(year);
    printf("\tYear\t\t%u\n", year);
}

int main()
{
    unsigned int day;
    unsigned int month;
    unsigned int year;
    unsigned int packed;

    printf("Enter numeric Day\t:");
    scanf("%d", &day);
    printf("Enter numeric Month\t:");
    scanf("%d", &month);
    printf("Enter two digit Year\t:");
    scanf("%d", &year); …
Run Code Online (Sandbox Code Playgroud)

c bit-manipulation

6
推荐指数
1
解决办法
1846
查看次数

家庭作业再次请求帮助.递归地乘以Evens?

下面的引号是我的实际作业,下面是我当前的代码.有人能指出我正确的方向.

编写一个名为multiplyEvens的递归方法,它返回前n个偶数整数的乘积.例如,multiplyEvens(1)返回2,multiplyEvens(4)返回384(因为2*4*6*8 = 384).如果传递的值小于1,则抛出IllegalArgumentException.

  private static int multiplyEvens(int n)
  {  
      if(n%2 == 0)
      {           
          System.out.println(n*n);
          return multiplyEvens(n*n);
                      // I'm lost
      }
      System.out.println();
      return n; 
  }
Run Code Online (Sandbox Code Playgroud)

java math recursion

1
推荐指数
2
解决办法
3494
查看次数

标签 统计

bit-manipulation ×1

c ×1

java ×1

math ×1

recursion ×1