0xFF是什么意思,请前辈指点

landay001 2006-04-21 08:23:00
对于符号x,0x,十六进制,八进制等有点糊涂,请前辈们详细解释一下.

#include <stdio.h>

void main ()
{
int value = 0xFF;

printf("The inverse of %X is %X\n", value, ~value);
}

运行结果:The inverse of FF is FF00
...全文
18997 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
paapa 2006-04-21
  • 打赏
  • 举报
回复 1
学习
aniude 2006-04-21
  • 打赏
  • 举报
回复
0xFF
一个F 4位,2个F就是8位 = 1 个字节
roger_77 2006-04-21
  • 打赏
  • 举报
回复
很好,
YFY(天易) 解释得真不错。
YFY 2006-04-21
  • 打赏
  • 举报
回复
1个字节是8位,是个固定的概念和硬件无关的。
int 类型占几个字节与编译器有关,老的编译器是16位的,新的编译器是32位的。
以后可能是64位的。这个与CPU有关的。现在主流CPU是32位的,处理32位的数据最快,
以前的CPU是16位的,处理16位的数据最快。

YFY 2006-04-21
  • 打赏
  • 举报
回复
0XFF 是1个字节,0x00FF是2个字节。
YFY 2006-04-21
  • 打赏
  • 举报
回复
楼主的int型是2字节的,1个字节用16进制表示是2位,因为16^2也就是2^8是8个bit,1个BYTE。

如果是VC下,那么 value = 0x000000FF 取反就是 0xFFFFFF00

8进制加0前缀即可。
landay001 2006-04-21
  • 打赏
  • 举报
回复
对啊,我觉得我的老破驴编译器整形为4字节,不然FF00怎么解释呢?

请天易同志解释
aayy 2006-04-21
  • 打赏
  • 举报
回复
整形为4字节,0xFF,是不是就是0X00FF, 取反就是0XFF00?
YFY 2006-04-21
  • 打赏
  • 举报
回复
楼主用的编译器比较老啊,int型是2字节的。
YFY 2006-04-21
  • 打赏
  • 举报
回复
0xFF00 的大小就是 F*16^3 + F*16^2 + 0*16^1 + 0*16^0

不管是2进制,8进制,10进制,16进制,还是其它进制,解析的方式都是一样的。

只是基数不一样而已。2进制基数是2,8进制是8,10进制是10,16进制是16。
YFY 2006-04-21
  • 打赏
  • 举报
回复
0xFF 是16进制数,大小就是 F * 16 + F,
16进制数排列依次是 0 1 2 3 4 5 6 7 8 9 A B C D E F
以10进制来看 F大小就是 15。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧