C语言重学习(由浅入深)第三天

进制转换

二进制转八进制:将二进制数按三个一组进行划分,然后计算出每一组的十进制数字即可。代码思路:采用一个循环控制分组(数组长度除以三,余几则需要补几个零)以及每一组的数据计算(定义i从零开始,每次增三),可以在循环中直接输出,也可将得到的结果放入数组之后一次性输出。

二进制转十六进制:将二进制数按四个一组进行划分,然后计算每组的十进制数字。代码思路同二进制转八进制。

二进制转十进制:二进制数第几位乘以二的第几位减一次幂,然后将这些数字加和。代码思路:将二进制数存入数组,然后即可按算法,套用一个循环,计算出十进制数。

八进制转十六进制:将八进制转换为二进制,然后再按照二进制转十六进制,将其转换为十六进制。代码思路:将八进制的数字每一位单独计算,每一位除以2取余,然后将余数再除以2取余,直到余数为零,然后将数字按从后往前的顺序排列,即可得到二进制,之后再转十六进制即可。

总结:所有进制转换为十进制的方法与上文中二进制转换十进制的方法相似,十进制转换其他进制则是变为除法,取余,之后将得到的商按从后向前的顺序排列即可。

注意:以上方法为整型数的计算方法,浮点数的方法:十进制转换其他进制是乘法取整。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

计算机的内存(内存代表着计算机CPU的寻址能力)

32位(最大寻址能力为2*2*2^10*2^10*2^10字节,即4G):

一个十六位的内存地址可以存储四个二进制数据,八个十六位内存地址即存储32个二进制数据,即32位。

64位(最大寻址能力:2*2*2^10*2^10*2^10*2^10*2^10*2^10字节):

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

数据输出时的解析方式:

解析方式 解析类型
%d 整型
%f 浮点型(默认保留六位)
%o 八进制整数
%ld 长整型
%x 十六进制输出整数或者字符串
%u 输出无符号整型
%c  输出单个字符
%s 输出一个字符串
%100f 浮点型,保留小数点后100位
%e 指数形式输出
%g 输出不包含0的实数,根据大小自动采用%e或者%f的格式
%p 取地址

 

 

 

数据类型:

猜你喜欢

转载自www.cnblogs.com/stuBlogs/p/11447156.html