跳转到内容

十四進制

来自维基学院

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

十四進制是以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;
}

參考信息

[编辑 | 编辑源代码]

外部連結

[编辑 | 编辑源代码]