C语言中printf("%hhx", 1234&127)的输出结果分析
输出结果为 ""0x22" 。 原因是在表达式1234&127中,1234的二进制表示为"10011010010",而127的二进制表示为"1111111" 。 按位与操作符&会将两个操作数的对应位进行与操作,结果为"10011010010" & "1111111",得到的结果为"10010" 。 将结果转换为十六进制表示,则为"0x12" 。 由于使用了%hhx格式化符号,输出结果为 ""0x22" 。
原文地址: https://www.cveoy.top/t/topic/qio8 著作权归作者所有。请勿转载和采集!