计算机底层如何对十进制进行转换比如(123)

来源:百度知道 编辑:UC知道 时间:2024/06/09 12:38:47
请不要误会,小弟问的不是十进制到二进制的转换算法
问题是:
如果在c程序中有一个语句是:int a = 123 ; 那么从编译器到计算机硬件是怎么将"123"这一串字符输入转换成二进制的呢?

计算机从来就不存储10进制,123本来就是ASCII码二进制的"123",你的问题应该反过来:如何将二进制转换成其他编码.

在计算机中,一般都是以二进制的形式存储数据。你开始定义的“123”是十进制的。把它转换为二进制的才能存储于计算机中。“123”转换为二进制代码是01111011(这是8位的存储器)。编译器通过对十进制的数进行除2得到余数,逆取余数就得到二进制数。在硬件具体实现的时候主要是通过不同的芯片实现除法、取余等操作。

int类型在c中占两个字节。

也就是以二进制16比特123的补码存储

这些数学都学过的,你要转换为几进制的啊?计算机都是用二进制数字转换的