进制的英文缩写
二进制简写是B,十六进制的简写是H,那八进制和十进制的简写分别是O和D。
B,Binary(二进制);
H,Hex(十六进制);
O,Octal(八进制);
D,Decimal(十进制)。
但其英文缩写不一定代表在C语言输出格式的表达,这也是我们最易混淆的地方。
C语言中带进制的输出
在C语言里,整数有三种表示形式:十进制,八进制,十六进制。(没有二进制的输出,如果要输出二进制,需要通过函数实现。)
其中以数字0开头,由0~7组成的数是八进制。
以0X或0x开头,由0~9,A~F或a~f 组成是十六进制。
除表示正负的符号外,以1~9开头,由0~9组成是十进制。
1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278。
printf("%d",128); //以%d为输出格式
2,八进制:一般以0开头,由0~7组成的数。如,0126,050000.
printf("%o,128"); //以%o为输出格式
3,十六进制:以0X或0x开头(**这里的0x是“零”X,不是ox),由0~9,A~F或a~f 组成。如,0x12A,0x5a000.
printf("%x,128"); //以%x为输出格式
如何用C语言实现二进制的输出?
#include <stdio.h>
void _printBinary(int a)//递归打印正二进制形式数
{
if (!a)return ;
_printBinary(a/2);
printf ("%d", a%2);
}
void printBinary(int a)//以二进制形式打印所有int型数
{
if (a == 0){
printf ("0");
return ;
}
if (a < 0){
printf ("-");
a = -a;
}
_printBinary(a);
}
int main()
{
int a = 11;
printBinary(a);
return 0;
}