请教两个C语言的问题!!
请问字符保存在内存中都是以几进制的呢?ascll码都是通用的吗?
int整型数占用两个字节,如果这个数是12345的话甚至更大,两个字节好像存不下吧?单精度4字节,如数是:1234567.123456的话
他又是如何保存的呢?实在太菜,请指教!!!
参考答案:内存保存的是数,和进制无关,进制是把数写成一种人看的格式的标准,比如十进制10,和16进制0a是相等的数,内存保存的是数,只有把数输出给人看的时候,才有进纸的区别。
字符在内存的保存格式,对标准C使用ascii码保存,但vc可以把字符串保存为unicode格式。ascii码是通用的,不过有新的标准即unicode,二者目前并用,其中java则使用unicode字符。
int不一定是2字节,在最常用的编译器visual c++中,int型是4个字节,数字如果大道一定程度,int型是装不下的,这叫做溢出,编程序的时候要考虑int最大能够表示的整数范围,避免溢出,否则程序就会出错。
float型的保存格式比较复杂,4个字节中,有3个字节表示有效数字,1个字节表示指数。