Python各种进制的数相互转换

  1. 转十进制int
    各进制转十进制
    上面函数,只需要将第一个参数填写转换数值,第二个参数描述函数是哪个进制的数即可。

  2. 转二进制bin
    十进制转二进制
    该函数为十进制转二进制函数。因此如果是十六进制或者八进制数需要先调用int函数转为十进制。

  3. 转八进制oct
    十进制转八进制
    该函数为十进制转八进制函数。因此如果是十六进制或者二进制数需要先调用int函数转为十进制。

  4. 转16进制hex
    十进制转十六进制
    该函数为十进制转十六进制函数。因此如果是八进制或者二进制数需要先调用int函数转为十进制。

关于c语言的进制转换

网上很多人都是自己手写的进制转换函数,但是c语言的格式化输入输出函数已经支持进制转化,所以我们可以使用sprintfsscanf进行转换。
sprintf函数通过指定占位符%o %u %x来输入特定进制的数;sscanf通过%i占位符自动将输入识别成相应进制数。

占位符说明
如果只是单纯的转换调用printf即可,毕竟机器内部都是二进制存储。

#include <stdio.h>

int main(int argc, char* arv[])
{
	int a = 010;
	int b = 10;
	int c = 0x10;
	printf("%o\n%d\n%x\n", a, a, a);
	printf("%o\n%d\n%x\n", b, b, b);
	printf("%o\n%d\n%x\n", c, c, c);
	return 0;
}

output

10
8
8
12
10
a
20
16
10
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章