int main(int argc, const char * argv[]) { int num = 13; // 按八进制的格式输出 输出格式符 %o 或 %O printf("%O\n",num);
// 按照十六进行的格式输出 输出格式符是 %x,它输出的字母是小写的,%X它输出字母是大写 printf("%X\n",num);
// C语言中没有提供输出二进制格式符
printf("%lf\n", .089);
return 0; }
void test() { // 在进制中是不区分大小写 int a = 10; //默认是十进制 // 0b 或 0B 开头的数值是二进制 int b = 0b1101; // %d按照十进制的格式输出一个整数 printf("%d\n",b); // 八进制是 以 0开头的 int o = 015; printf("%d\n",o); // 十六进制 是以0x 或 0X 开头 int x = 0xd; printf("%d\n",x);
}
进制转换
int main(int argc, const char * argv[]) { // 把十进制数转换二进制数 : 除2取余倒序排
/* 商 余数 13 / 2 6 1 6 / 2 3 0 3 / 2 1 1 1 / 2 0 1 */
int a = 0b1101; printf("a = %d\n",a);
//把二进制转换成10进制
/* 0b1101 把每一个位上的数乘以2幂数(从右到左,从零开始数),然后相加 1 + 0 * 2 + 1 * 2(2) + 1 * 2(3) = 13
快速将二进制转换成10进制
1 1 1 1 1 1 1 1 128 64 32 16 8 4 2 1
0b1001 = 9 0b1010 = 10 0b101010 = 42
颜色:RGB R红色 G绿色 B蓝色 每一个颜色都是占8二进制位,对应两个16进制位 R G B ff ff ff 白色(最脏的颜色) 00 00 00 黑色(最纯洁的颜色) */
/* 把二进制转换成8进制:三个二进制位转换成一个八进制位,三个二进制2位最大表示7 一个八进制位最大也是7
1,101 = 15 把八进制转换二进制:一个八进制转换成三个二进制位 1,5 = 1101
把一个二进制数转换成16进制:四个二进制位转换一个十六进制位,四个二进制位最大表示15,一个16进制位最大也是15;
0b11,1101 = 0x3d 把一个十六进制数转换二进制数,1个十六进制位转成4个二进制位 0x3,d = 0b11,1101
把8进制转换16进制:先把八进制转位2进制,再把二进制转为16进制 把16进制转八进制:先把16进制转换为2进制,再把二进制转换8进制 */
printf("%d\n", 0b111101); printf("%d\n", 0x3d); printf("%d\n",0b111101 == 0x3d );
return 0;
}
|