十四进制
本项目是针对七进制的一些研究。
导言
编辑规则
编辑在十四进制中,有十四个数字,各是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/14=0.07142857142757142857……,循环数为142857
- 2/14=0.142857142857142857……,循环数为142857
- 3/14=0.2142857142857142857142857……,循环数为142857
- 4/14=0.2857142857142857142857……,循环数为142857
- 5/14=0.357142857142857142857……,循环数为142857
- 6/14=0.42857142857142857142857……,循环数为142857
- 7/14=0.5 ,7是14周期律的基底,因此,其小数为有限小数
- 8/14=0.57142857142857142857……,循环数为142857
- 9/14=0.642857142857142857……,循环数为142857
- 10/14=0.7142857142857142857……,循环数为142857
- 11/14=0.7857142857142857……,循环数为142857
- 12/14=0.857142857142857142857……,循环数为142857
- 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;
}
参考信息
编辑外部连结
编辑- The First 1000 Counting Numbers in Base 14- Hamid N. Yeganeh