Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C中打印最大十六进制精度_C_Hex - Fatal编程技术网

在C中打印最大十六进制精度

在C中打印最大十六进制精度,c,hex,C,Hex,有没有办法在C中打印最大十六进制精度 例如: printf(" %x ", var); 输出为“FFFFAB” 但是,我只希望输出为“AB”,即至少2个有效数字。有什么方法可以做到这一点吗?只需使用按位AND键屏蔽不需要的位 printf(" %x ", var & 0xFF); 此外,您所说的“AB”通常指的是十六进制数字,而不是位。位通常用于描述二进制数。只需使用按位AND键屏蔽不需要的位即可 printf(" %x ", var & 0xFF); 此外,您所说的“AB

有没有办法在C中打印最大十六进制精度

例如:

printf(" %x ", var);
输出为“FFFFAB”


但是,我只希望输出为“AB”,即至少2个有效数字。有什么方法可以做到这一点吗?

只需使用按位AND键屏蔽不需要的位

printf(" %x ", var & 0xFF);

此外,您所说的“AB”通常指的是十六进制数字,而不是位。位通常用于描述二进制数。

只需使用按位AND键屏蔽不需要的位即可

printf(" %x ", var & 0xFF);

此外,您所说的“AB”通常指的是十六进制数字,而不是位。位通常用于描述二进制数。

嘿,非常感谢,这很有帮助。一般来说,所有的书籍和网页都给出了如何指定最小精度,但我没有找到任何关于最大精度的方法。最小值通常是表示数字所需的最小位数。使用AND只是切掉更重要的位。我从来没有见过在printf中用AND这样做!也许我需要读更多的高级书籍来学习这种东西。请告诉我你是否知道C的任何这样的书。嘿,非常感谢,这很有帮助。一般来说,所有的书籍和网页都给出了如何指定最小精度,但我没有找到任何关于最大精度的方法。最小值通常是表示数字所需的最小位数。使用AND只是切掉更重要的位。我从来没有见过在printf中用AND这样做!也许我需要读更多的高级书籍来学习这种东西。请告诉我你是否知道C的这类书籍。