我很清楚,在这个问题上有一些重复的问题,虽然我发现每个问题都不能解决我的问题。首先,除了iostream、iomanip和string之外,我不能使用任何特殊的库。到目前为止,我得到的是{ while (num > 0) bin += (num %bin << endl; this is used for debugging purposes
num = num /
我引用Herbert的话: JAVA,完整的参考第8版。当您移动byte和short值时,Java的自动类型提升会产生意想不到的结果。此外,这样一个表达式的结果也是一个int。这意味着left shift在byte或short值上的结果将是int,而bits移位left将在通过bit position 31之前不会丢失。由于这些原因,要在字节或短字节上执行左移位,就意味着必须丢弃int结果的高阶字节。例如,如果左移一个byte值,则必须首先将该值提升为int,然后再进行