社区
C语言
帖子详情
0x00与0
AIGPTchina
2010-12-20 12:52:43
BYTE tmp;
if((tmp&0x40)==0)
与if((tmp&0x40)==0x00)有什么区别。
tmp是无符号数一个字节。unsigned char
...全文
894
32
打赏
收藏
0x00与0
BYTE tmp; if((tmp&0x40)==0) 与if((tmp&0x40)==0x00)有什么区别。 tmp是无符号数一个字节。unsigned char
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
32 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jim-single
2011-09-27
打赏
举报
回复
路过, 学习了
freefei
2010-12-23
打赏
举报
回复
[Quote=引用 4 楼 milkylove 的回复:]
事实上没有区别。但if((tmp&0x40)==0x00) 比if((tmp&0x40)==0)更好的体现了一致性
[/Quote]
没区别,看汇编有区别吗,就知道了自己动手丰衣足食
追小虫的蚂蚁
2010-12-22
打赏
举报
回复
用0x好看点??~~~
yskcg
2010-12-22
打赏
举报
回复
没有区别,只是用ox时,可读性要比0 好的多
zhutianjin4355255
2010-12-22
打赏
举报
回复
转化出来的值是一样的,在这边没区别
smad732
2010-12-22
打赏
举报
回复
没区别
wopabe
2010-12-22
打赏
举报
回复
对于0,应该是int型,长度要看你的机器了
而0x00一定是一字节
区别就在这
Shrek_MyCpp
2010-12-22
打赏
举报
回复
是同一个数
Mark0904
2010-12-22
打赏
举报
回复
我觉得没区别。
0x40)==0x00
写成0x00的话就与前面的0x40在格式上统一点,看上去格式也较统一。
sparklxd
2010-12-21
打赏
举报
回复
楼上都说完了,我就来JF的
無_1024
2010-12-21
打赏
举报
回复
0x是十六进制
没说明就是10进制
wizard_tiger
2010-12-21
打赏
举报
回复
0x00表示十六进制的0
00 表示八进制的0
0 表示十进制的0
我学的时候是这样表示的。
luciferisnotsatan
2010-12-20
打赏
举报
回复
0x00就是0
0x 代表16进制
JoeBlackzqq
2010-12-20
打赏
举报
回复
应该是一样的。
失落的凡凡
2010-12-20
打赏
举报
回复
事实上没有区别。但if((tmp&0x40)==0x00) 比if((tmp&0x40)==0)更好的体现了一致性
derest12
2010-12-20
打赏
举报
回复
希望那个有什么高见,我也知道一下,呵呵
jackyjkchen
2010-12-20
打赏
举报
回复
没区别,16进制和10进制而已
derest12
2010-12-20
打赏
举报
回复
我个人觉得哈,在出现的效果都是一样的,没有什么不一样的吧
kent0122
2010-12-20
打赏
举报
回复
[Quote=引用 8 楼 naturemickey 的回复:]
因为BYTE tmp;
所以用0x00表示8位数的0,只是在代码上表示概念上的一致。
实际上在编译后的代码中是没有区别的,因为对于是否为0的判断都只是用一个零标志位而已,而并不把0这个数字编译到代码中。
另外,上面有人说0是十进制的,这个错了,在C99标准中,0是八进制的——楼主可找一下标准文档看一下。
[/Quote]
正解!!!!
flyerwing
2010-12-20
打赏
举报
回复
[Quote=引用 2 楼 jackyjkchen 的回复:]
没区别,16进制和10进制而已
[/Quote]
好象是呀.
加载更多回复(12)
Windows内核-系统调用
熟悉Windows三环API到Windows内核的执行流程,清晰的了解调用细节是在游戏对抗中不可缺少的技术点自写三环API(让调试器(OD,CE)断点无效)SSDT HOOK(让调试器(OD,CE)无法打开进程) 系统调用:API三环的流程sysenter进零环系统服务表零环返回int 0x2E进零环自写三环API(让调试器断点无效)SSDT HOOK(让调试器无法打开进程)
从
0x00
到0xFF的含义
对于二进制来说,8位二进制我们称之为一个字节,二进制的表达范围值是从0b00000000~0b11111111,而我们程序中用十六进制表示的时候就是从
0x00
到0xFF,这里教大家一个二进制转换十进制和十六进制的方法,二进制4位一组,遵循8,4,2,1的规律比如 1010,那么从最高位开始算,数字大小是8*1+4*0+2*1+1*0 = 10,那么十进制就是10,十六进制就是0xA。尤其二进制转...
0x00
-----0xFF
0x00
, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
单片机中
0x00
和0x01有什么区别
0x00
=0,0x01=1,比如说P1=
0x00
,也就是给P1.0~P1.7端口赋低电平,P1=0x01,是P1.0为高电平,P1.1~P1.7为低电平. 这是十六进制的表示方法,转换成二进制分别是:
0x00
= 0000 0000;0x01 = 0000 0001,也就是单片机P口的八位P1.7~P1.0从低位到高位输出的电平。 ...
C语言
0x00
在无符号数组使用中的注意事项
C语言
0x00
在无符号数组使用中,不能使用 strlen() 计算数组长度,否则不准确,
0x00
会起到停止符的作用。 例如: uint8_t str[4] = {0x01,
0x00
,0x02,0x03}; size_t len = strlen(str); 这里按照常理来说 len 应该等于 4,但是实际上 len 等于 1,原因是\0 在内存中是以
0x00
来存放的,而数字0 是一个常用...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章