std::cout 如何将数字类型转换为基数 10?

Ant*_*ith 6 c++ binary numbers cout

我了解到数字类型(例如intand )long long在 C++ 中以基二格式存储。可以使用按位运算符访问和修改这些单独的位。

但是,我最近想知道为什么数字没有以std::cout2 为基数打印到屏幕上,并认为它们在打印之前必须已转换为 10 基数。换句话说,由于std::cout以 10 为基数输出这些数字,我认为必须进行一些转换过程才能将这些数字从 2 基数转换为 10 基数。

总的来说,我的问题是,std::cout实际上是否将数字从基数 2 转换为基数 10,它是如何做到的?我在这里犯了其他一些逻辑错误吗?