C语言中怎样定义变量使其能够保存16进制整数?

定义为int行不行啊~~~
2024-12-03 01:12:28
推荐回答(5个)
回答1:

不能定义为int。 因为会做补码反码操作的。

定义为char即可。

这样定义:
char a = '\x61'; // 保存为十六进制数61;

你跑一下:
char a = '\x61';
char b = 'a';

printf("0x%x,0x%x",a,b);

会得到 0x61,0x61 ( a的ascii码16进制即为61)

回答2:

可以通过int 或long int存储,16进制整数说到底还是整数,16进制只是一种记数方式。例如,int x=0x16;

十六进制(hexadecimal)只是计算机中数据的一种表示方法,规则是“逢十六进一”,并不影响数据的存储。任何数据在计算机中存储的都只是二进制(0/1)数据,只是根据需要输出时相应调整即可。

回答3:

进制只不过是个形式。最终还是看大小决定控件了。

回答4:

内存单元对你存了什么进去没有任何意见
所有数制都可以……
输出的时候做限制就好,运算的时候没区别的。

回答5:

所有变量中存放的都是二进制补码,引用时根据需要按不同进制引用