黑马程序员技术交流社区
标题: C语言 进制 [打印本页]
作者: wangxu 时间: 2014-8-24 23:08
标题: C语言 进制
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;
}
作者: 庄得超 时间: 2014-8-25 15:41
不错,学习了
作者: chengnuoaini030 时间: 2014-8-25 18:12
我来看看……
作者: 朱亚男 时间: 2014-8-26 10:41
看着好别扭。。
作者: 从今以后 时间: 2014-8-26 10:45
谢谢分享,支持一下
作者: ccq 时间: 2014-8-26 20:39
学习一下。。。。。。
作者: ❤如止水之絕境 时间: 2014-8-27 17:51
进制转换,嗯
作者: Meniny 时间: 2014-8-27 19:01
哦晕,还以为是提问呢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |