进制转换

本文详细介绍了不同数制之间的转换方法,包括十进制、二进制、八进制及十六进制之间的相互转换过程,并提供了具体的转换实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//123 除十倒序取余数

//123 /10 3

//12 /10 2

//1 /10 1


//十进制转二进制 除二倒序取余数 除到0为止

//123

//123 /2 -- 1

//61 /2 -- 1

//30 /2 -- 0

//15 /2 -- 1

//7 /2 -- 1

//3 /2 -- 1

//1 /2 -- 1

//0 /2 -- 0


//123 = 1111011 = 1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 64 + 32 +16 +8 +0 +2 +1 = 123

//


//345 67 96

//345 = 0b101011001

//67 = 0b1000011

//96 = 0b1100000

//0b二进制的助记符


//int main(int argc, const char * argv[])

//{

// int bin[32]={};

// int a;

// scanf("%d", &a);

// int i=0;

// while (a) {

// bin[i]=a%2;

// a=a/2;

// i++;

// }

// for (i=i-1; i>=0; i--) {

// printf("%d",bin[i]);

// }

// printf("\n");

// return 0;

//}


//八进制 "逢八进一"

//0 1 2 3 4 5 6 7

//10 11 12 13 14 15 16 17 20

//八进制数表示形式是前面加0

//012


//123 除八倒序取余数

//123 / 8 3

//15 / 8 7

//1 / 8 1

//123 = 0173


//234 98

//234 = 0352

//98 = 0142


//int main(int argc, const char * argv[])

//{

// int bin[32]={};

// int a;

// scanf("%d", &a);

// int i=0;

// while (a) {

// bin[i]=a%8;

// a=a/8;

// i++;

// }

// printf("0");

// for (i=i-1; i>=0; i--) {

// printf("%d",bin[i]);

// }

// printf("\n");

// return 0;

//}


//八进制转二进制

//用三位二进制数替换每一位八进制数

// 0 1 2 3 4 5 6 7

//000 001 010 011 100 101 110 111


//0765 = 0b111 110 101


//0b011101010010101010 = 0352252

//二进制转八进制

//从低位开始, 每三位为一组, 高位不足三位补0, 用八进制数分别替换三位二进制数



//十六进制 "逢十六进一"

//0x是十六进制的助记符

//0-15

//0 1 2 3 4 5 6 7 8 9 a/A b/B c/C d/D e/E f/F

//0x10 0x11 12 13 1f 20 ... ff 100 ... fff 1000...


//十进制转十六进制

//除十六倒序取余数


//十六进制转二进制

//0x456789 = 0b010001010110011110001001

//0xabdef34567=0b1010101111011110111100110100010101100111

//0 1 2 3 4 5 6 7

//0000 0001 0010 0011 0100 0101 0110 0111

//8 9 a b c d e f

//1000 1001 1010 1011 1100 1101 1110 1111

//1111 ==>"8421"

//二进制转十六进制

//从低位开始, 每四位为一组, 高位不足四位补0, 用十六进制数分别替换四位二进制数

//0b 0111 1001 0101 1111 0101 0101 0010 0000 = 0x795f5520

//int main(int argc, const char *argv[])

//{

// printf("%d\n",0b1111);//%d%ld打印十进制占位符

// printf("%d\n",012);

// printf("%d\n",0173);

// printf("%o\n",0765); //%o%O打印八进制占位符

// printf("%o\n",0b111110101);

// printf("%o\n",0b011101010010101010);

// printf("%lx\n",0b1010101111011110111100110100010101100111);//%x%X %lx %lX以十进制的形式打印输出

// printf("%x\n",0b01111001010111110101010100100000);

// return 0;

//}


//567895678

//对于一个很大的十进制数, 转换成二进制数 , 可以通过十六进制或者八进制数过度, 也就说,先转换成十六进制或者八进制,然后再转换成二进制


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值