C语言怎么定义一个二进制数

Python017

C语言怎么定义一个二进制数,第1张

C语言中没有 “二进制数”这种类型,所以没办法直接定义;但可以直接定义16进制数。

例:

int main(){

int a

scanf("%p",&a)//16进制数输入%p是输入一个十六进制的数scanf("%llx",&a)也可以输入十六进制并且比较正规

printf("%d",a)//十进制输出%d是输出一个十进制的数

printf("0x%x",a)//16进制输出printf("%llX\n",a)也可输出一个十六进制数如果红色部分大写X则输出十六进制为大写字母否则小写x输出为小写字母

}

扩展资料

C语言中定义整型数据的十六进制数:

unsigned int hex_val = 0x123

//定义了一个整型变量并赋以初始值为一个十六进制常量。

if (scanf("%x", &hex_val) != EOF)

{

printf("它的八、十进制分别=%o、%d\n", hex_val, hex_val)

}

c语言不能直接表示二进制,没有数字前缀表示。

例子如下:

假设有一个

int

类型的数,值为5,那么,我们知道它在计算机中表示为:

00000000

00000000

00000000

00000101

5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。

扩展资料

进制是一种计数的方式,常用的有二进制、八进制、十进制、十六进制。任何数据在计算机内存中都是以二进制的形式存放的。

我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数;八进制数是以8为计算单元,满8进1位的数。

对于任何一个数字,我们都可以用不同的进制来表示,比如,十进制数12,用二进制表示为1100,用八进制表示为14,用十六进制表示为0xc。

假设你是用的平台int做4字节处理,short做2字节处理

65535即十六进制表示的0xFFFF,即二进制表示,两个字节全1

所以2字节的short输出就是-1,而4字节的int表示是原数65535