如何解决在C ++中'INT'-'INT'代表什么?
这句话在C ++中到底意味着什么?
int num= '3'-'0';//or any integer in place of 3.
解决方法
字符只是整数,因此'3'
是char
,但它也具有整数值。但是该值不是3,在我的系统上,'3'
的值是51,而'0'
的值是48,所以'3' - '0'
等于3。
现在,在您的系统上,'3'
和'0'
的值可能不同。但是C ++保证char '3' - '0'
的任何值都必须等于3。并且以相同的方式保证所有数字都类似地工作,因此'9' - '5'
必须等于4,等等。
运算符-
是减法运算符。如果将整数视为number line中的位置,则减法是操作数之间的距离。 3与1之间的距离为2,2与0之间的距离为2。
字符是整数。每个数字值代表一个符号,如character encoding中所指定。现在,我们可以想到符号线,而不是数字线。现在,减法就是该行上符号之间的距离。
从自身减去符号时,距离为0。例如,'0' - '0'
为0。知道所有整数符号在符号线上都是连续的:
// symbol line of an example encoding
..... / 0 1 2 3 4 5 6 7 8 9 : ; .....
您可能会注意到,任何数字符号和符号'0'
之间的距离都与数字所代表的数字相同。例如,'3'
与'0'
的距离为3。
这怎么有用?嗯,知道一个数字符号代表的数值通常很有用。特别是在将数字字符串转换为数字时使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。