0x40000000是什么意思

zyc_lc 2008-08-05 10:05:03
CString ByteToString(UINT nSize)
{
CString str;
float fSize;

fSize = (float) nSize;
if(nSize >= 0x40000000)
{
if((nSize%0x40000000) == 0)
{
str.Format("%dGB", nSize>>30);
}
else
{
str.Format("%.2fGB", fSize/0x40000000);
}
}
}
中0x40000000是什么意思?
麻烦各位帮忙讲解一下,谢谢

nSize >= 0x40000000中可见0x40000000是个有大小的数值
那0x40000000
0x100000
0x400均是多少呢?16进制?
...全文
3098 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
coverallwangp 2008-08-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zyc_lc 的回复:]
我曾经猜测别人些的代码中的0x40000000代表1GB的大小 但是不我不知道具体该怎么理解0x40000000代表1GB的大小?请高手指点,谢谢。
[/Quote]


0x40000000由于是16进制,所以这里的一个0代表2进制的四个0,一共有7个0,所以相当于2进制的28个0

4转换成2进制是100,所以一共有30个0,即1后面有30个0,所以是2^30 ,是1G
zyc_lc 2008-08-05
  • 打赏
  • 举报
回复
谢谢 我算了下 却是如你所说
xkyx_cn 2008-08-05
  • 打赏
  • 举报
回复
0x40000000 = 2^30 = (2^10)^3 = 1024 * 1024 * 1024 即代表1GB的大小 1024是1KB
coverallwangp 2008-08-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zyc_lc 的回复:]
那0x40000000
0x100000
0x400均是多少呢?
[/Quote]

0x40000000 是2^30,1G
0x100000 是2^20 1M
0x400 是2^10 1k

zyc_lc 2008-08-05
  • 打赏
  • 举报
回复
我曾经猜测别人些的代码中的0x40000000代表1GB的大小 但是不我不知道具体该怎么理解0x40000000代表1GB的大小?请高手指点,谢谢。
e_sharp 2008-08-05
  • 打赏
  • 举报
回复
0x40000000 = 1024 * 1024 * 1024
0x100000 = 1024 * 1024

lz自己算算就知道了
bargio_susie 2008-08-05
  • 打赏
  • 举报
回复
我很怀疑这个程序你是怎么写出来的。。
xkyx_cn 2008-08-05
  • 打赏
  • 举报
回复
str.Format("%.2fGB", fSize/0x40000000);
从代码可以看出,0x40000000代表1GB的大小
zyc_lc 2008-08-05
  • 打赏
  • 举报
回复
那0x40000000
0x100000
0x400均是多少呢?
bargio_susie 2008-08-05
  • 打赏
  • 举报
回复
是的,16进制。你不知道????

70,017

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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