Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.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++_Binary_Hex - Fatal编程技术网

C++ 当我们在现实生活中需要将二进制转换为十六进制时

C++ 当我们在现实生活中需要将二进制转换为十六进制时,c++,binary,hex,C++,Binary,Hex,我是一名学生,正在学习二进制和十六进制。我想知道为什么我们需要将二进制数转换为十六进制数。它在现实生活中有什么用?有10种不同的人,懂二进制的人,不懂二进制的人,知道这个笑话是三进制的人 人们更善于处理更多类型的符号。计算机被设计用来处理2个符号(0和1)和很多符号 十六进制是一种有用的格式,因为它使用更少的符号和更多的类型,但它很容易转换为二进制。所以,当您想要检查二进制文件或输入它时,十六进制对人类非常有用 它通常比八进制(以8为基数)好,因为每个十六进制数字是4位,而二进制数据通常按2的幂

我是一名学生,正在学习二进制和十六进制。我想知道为什么我们需要将二进制数转换为十六进制数。它在现实生活中有什么用?

有10种不同的人,懂二进制的人,不懂二进制的人,知道这个笑话是三进制的人

人们更善于处理更多类型的符号。计算机被设计用来处理2个符号(0和1)和很多符号

十六进制是一种有用的格式,因为它使用更少的符号和更多的类型,但它很容易转换为二进制。所以,当您想要检查二进制文件或输入它时,十六进制对人类非常有用

它通常比八进制(以8为基数)好,因为每个十六进制数字是4位,而二进制数据通常按2的幂排列,这是因为我们的计算机位寻址工作原理。因此,您将有8位字节、16位字节字、32位字节双字和64位字节四字;结果是2、4、8和16个十六进制数字

由于每一个八进制数字是3位,并且3不除以2的任何幂,所以对于我们处理的普通二进制位块来说,这并没有那么灵巧


这个答案假设“现实生活”是“与计算机一起工作”。从编程到在网页上选择颜色,您将在执行此操作时使用十六进制。

如果您一直使用c++14之前的编译器,则除了作为扩展名之外,您将无法使用二进制文本。即使如此,因为4个二进制数字总是相当于1个十六进制数字,所以使用十六进制而不是二进制通常更容易获得正确的长常量。(例如,假设写入获取0x100000000所需的33个二进制数字,很容易丢失0或插入额外的数字)。

目标是美观/方便,只是为了简化写入:4个二进制数字(位)可以作为1个十六进制数字唯一写入。0000 0;, 0001 1; 0010 2 .... 1110 E;1111楼。这只是为了方便。请注意,我们通常使用8位(通常称为字节)的组,它们转换为2个十六进制数字。16位转换成4个十六进制数字,依此类推。我想这是现实生活中使用二进制或十六进制数字的子集。(正如@Pac0所指出的,在这两者之间进行转换非常简单。)在处理位时,使用十进制数是一件非常麻烦的事情。由于C++14标准,我们可以使用二进制整数文本,但它们可能有点长,并且容易出错。这使得使用十六进制表示法更容易,因为每个数字正好对应于四个二进制数字。为了给我们更“真实(程序员)的生活”->当我们想要查看/编辑二进制文件时,我们使用十六进制数字,因为否则编辑数百/数千/数百万位中的每一位将是一场噩梦。示例:记住:最后这些只是数字,在抽象的尺度上,数字是否以2、16、10、64为基数并不重要。人们发现易于处理的符号数量是有限的,最合适的位置似乎在10左右。想象一下以256为基数思考:“这个变量的地址是
0x008b4eac
”似乎是人类可读的。但是,“此变量的地址是
␀‹N-
“-只有4个符号,但不是人类可读的。@anatolyg实际上,我们似乎与24个符号(字母表)非常兼容。汉字有几千种,但要学习其中足够的一个子集需要很长时间。