📜  十进制数(1)

📅  最后修改于: 2023-12-03 15:37:02.463000             🧑  作者: Mango

十进制数

什么是十进制数

在计算机中,十进制数是我们最为熟悉的数字系统,由0-9这十个数字构成。每一位数字都是以10为底数的数位,每个位置上的数值是该数位上数字与该数位对应的权的乘积,权值为10的次方。

例如:3425是一个十进制数,它的每一位数字分别表示: 5×10^0 + 2×10^1 + 4×10^2 + 3×10^3。

十进制数在计算机中的表示方式

在计算机中,十进制数同样也是用二进制来表示。具体来说,就是将十进制数转换为二进制数再储存到计算机的内存中。

将十进制数转换为二进制,可以采用“除以2取余,逆序排列”的方法。例如将10转换为二进制数,步骤如下:

10 ÷ 2 = 5 ... 0
 5 ÷ 2 = 2 ... 1
 2 ÷ 2 = 1 ... 0
 1 ÷ 2 = 0 ... 1

将余数倒序排列,则得到10的二进制表示为1010。

十进制数相关函数

在编写程序时,我们经常需要对十进制数进行操作。以下是常用的十进制数相关函数:

int atoi(const char *nptr)

将字符串转换为整数。该函数会扫描参数nptr字符串,跳过前面的空格字符,直到遇到数字或正负号后开始做转换,直到字符串结束或再遇到非数字字符为止。

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

int main()
{
   char str1[10] = "12345";
   char str2[10] = "hello";
   int num1, num2;

   num1 = atoi(str1);
   num2 = atoi(str2);

   printf("num1 = %d\n", num1);   // 输出:num1 = 12345
   printf("num2 = %d\n", num2);   // 输出:num2 = 0

   return 0;
}
char* itoa(int value, char* str, int radix)

将整数转换为字符串,radix表示进制。该函数将整数value转换为以radix为进制的字符串,并将其存于提供的字符数组str中,最后返回该字符串。

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

int main()
{
   int num = 12345;
   char str[10];

   itoa(num, str, 10);
   printf("十进制数 %d 转换为字符串为 %s\n", num, str);  // 输出:十进制数 12345 转换为字符串为 12345

   return 0;
}
结语

十进制数是计算机中的重要概念,我们需要学习和使用它,以更好地编写程序。