[英]C program to convert Binary to Hexadecimal number system
我是c语言的初学者,当我被训练做一些练习时,我看到了
hex[index] = (char)(i + 48);
和
hex[index] = (char)((i-10) + 65);
而且我还不知道。
完整代码在这里: https : //codeforwin.org/2015/08/c-program-to-convert-binary-to-hexadecimal-number-system.html 。
hex[index] = (char)(i + 48);
取索引i
的范围为0到9,并将其转换为字符“ 0”到“ 9”。 字符代码“ 0”为48。
hex[index] = (char)((i-10) + 65);
使用索引i
在10到15的范围内执行类似的操作,并将其转换为字符'A'到'F',分别。 字符代码“ A”为65。
此转换仅适用于您最有可能使用的ASCII和派生字符编码。
<rant>有些人刚刚学会了一种语言,他们要做的第一件事就是建立一个网页,将其命名为“面向初学者的C编程”。 但是由于他们对语言的了解非常有限,所以他们散布了错误且半熟的陈述……不幸的是,您陷入了其中一个陷阱。 好吧,它可以带您学习更多和更好的知识,因为您发现该网站上的空白和错误。 祝好运! </咆哮>
这两行应该这样写,而不考虑链接程序的其他问题:
hex[index] = i + '0';
和
hex[index] = i - 10 + 'A';
或者,甚至更好:
char hex[] = "0123456789ABCDEF";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.