碰到一些寄出的东西不是很理解,就是关于多进制在代码中的转换;
比喻一个数number的多进制表示方法:
B:二进制 Q:八进制 D:十进制 H:十六进制
二进制:0bnumber (number)2
八进制:0number (number)8
十进制:默认 (number)10
十六进制:0xnumber (number)16
在使用八进制定义是:写的o(欧)12会报错,说明C99未识别:
再来改为012;八进制
1 #include <iostream> 2 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 4 5 int main(int argc, char** argv) { 6 int i=012; 7 printf("%d ",i); 8 printf("%x ",i); 9 printf("%o ",i); 10 11 return 0; 12 13 }
编译正常:
开始一直以为int定义只能使用十进制数据。现在看来着只是默认为十进制,可以通过标识符确定进制。
1 %d: 十进制整形 2 %x:十六进制整形 3 %o:八进制整形
还有C语言的输出在二进制输出显示方法。这个现在C99里面好像没有。不知应该怎么弄。
欢迎大家一起交流 ,分享程序员励志故事。 幸福的程序员 QQ群: