跳转到内容

十四进制

来自维基学院

本项目是针对七进制的一些研究。

十四进制是以14进位制。人们尚未发现适当的客观存在与之相对应,故十四进制人们极为少用。

在十四进制中,有十四个数字,各是0、1、2、3、4、5、6、7、8、9、A、B、C、D,用来代表各种实数,依此规则,十进制的14,在十四进制中为10。

十四进制每个状态在自然数制中出现的概率为7.142857142857……%,比十进制每个状态在自然数制中出现的概率要少2.657142857142857……%。因此,十四进制每个状态所包含的因子比十进制每个状态所包含的因子要少。

十四进制是七进制的拓展,因此它包含著七进制的信息因子。例如十四分之几,除了7/14=0.5以外,它们的商都是无限循环小数,其无限循环部分为142857[1],例如:

  1. 1/14=0.07142857142757142857……,循环数为142857
  2. 2/14=0.142857142857142857……,循环数为142857
  3. 3/14=0.2142857142857142857142857……,循环数为142857
  4. 4/14=0.2857142857142857142857……,循环数为142857
  5. 5/14=0.357142857142857142857……,循环数为142857
  6. 6/14=0.42857142857142857142857……,循环数为142857
  7. 7/14=0.5 ,7是14周期律的基底,因此,其小数为有限小数
  8. 8/14=0.57142857142857142857……,循环数为142857
  9. 9/14=0.642857142857142857……,循环数为142857
  10. 10/14=0.7142857142857142857……,循环数为142857
  11. 11/14=0.7857142857142857……,循环数为142857
  12. 12/14=0.857142857142857142857……,循环数为142857
  13. 13/14=0.92857142857142857142857……,循环数为142857

可以编写函数实现十进制正整数到十四进制数的转换,在屏幕输出转换结果。

#include<stdio.h>
#include<math.h>

int main(){
  int a, b, n = 0;
  char c = 'A';
  scanf("%d", &a);
  while(a / (int)pow(14, n) != 0){
    n++;
  }
  n--;
  while(n >= 0){
    b = a / (int)pow(14, n) % 14;
    n--;
    if(b >= 10){
      printf("%c", c + b % 10);
    }else
      printf("%d", b);
  }
  if(!a)
    printf("0");
  printf("\n");

  return 0;
}

参考信息

[编辑 | 编辑源代码]

外部连结

[编辑 | 编辑源代码]