variables - C++ int with preceding 0 changes entire value -
i have strange problem if declare int so
int time = 0110; and display console value returned 72. when remove 0 @ front int time = 110; console displays 110 expected.
two things i'd know, first of why preceding 0 @ start of int , there way stop 0110 @ least equals 110?
secondly there way keep 0110 returns 0110?
if take crack guess @ variable name i'm trying operations 24hr time, @ point time before 1000 causing problems because of this.
thanks in advance!
an integer literal starts 0 defines octal integer literal. in c++ there 4 categories of integer literals
integer-literal: decimal-literal integer-suffixopt octal-literal integer-suffixopt hexadecimal-literal integer-suffixopt binary-literal integer-suffixopt and octal-integer literal defined following way
octal-literal: 0 octal-literal opt octal-digit that starts 0.
thus octal integer literal
0110 corresponds following decimal number
8^2 + 8^1 that equal 72.
you can sure 72 in octal representation equivalent 110 running following simple program
#include <iostream> #include <iomanip> int main() { std::cout << std::oct << 72 << std::endl; return 0; } the output is
110
Comments
Post a Comment