16位编译器环境下
‘壹’ 在c语言中,int类型,long类型,float类型,double类型和char类型在16位和32位计算机中各占几个字节
int在32位平台下是4字节,在16位平台下是2字节。long、float型在32位int平台下或16位int平台下都是4字节。double在以上两种平台下都是8字节。
‘贰’ c语言,为什么int类型在16位系统中占2个字节,在32位系统中占4个字节
常用的字节是8位的字节,即包含8位的二进制数,因此4个字节就是32位。如下参考:
字节是二进制数据的单位。一个字节通常是8位长。然而,一些较老的计算机结构模型使用不同的长度。为了避免混淆,在大多数国际文献中都使用字字节而不是字字节。
在大多数计算机系统中,字节是8位长数据的单位,大多数计算机使用字节来表示字符、数字或其他字符。
数据存储是以“字节”为单位,数据传输大多以“位”(bit,也称“位”)为单位,位表示0或1(即二进制),每8位(bit,缩写为b)构成一个字节(缩写为b),是最小级别的信息单位。
(2)16位编译器环境下扩展阅读:
有关计算机的单位的作用:
在计算机中,作为一个整体处理或操作的一串数字被称为计算机字,或简称,一个字通常被分成几个字节(每个字节通常是8位)在内存中,每个单元通常存储一个单词,因此每个单词都是可寻址的。一个字的长度是以位来表示的。
在计算机的运算单元中,控制器通常以字单元进行传输。单词出现在不同的地址,具有不同的含义。例如,发送给控制器的字是一条指令,而发送给算术单元的字是一个数字。
2.单词长度:
计算机的每个字中包含的位数称为字长。计算的字长是一次可以处理的二进制数字的数目。当然,计算机处理数据的速度与它一次能处理的比特数和处理数据的速度有关。
例如如果一台计算机的字长是另一台计算机的两倍,那么即使两台计算机的速度相同,前者也可以在同一时间完成两倍的工作。
‘叁’ 怎么编译连接16位的汇编程序
如果是写16位汇编,下载masm5.0(微软的16位宏汇编包),网络一下就有下载!使用masm.exe编译16位汇编源代码生成*.obj文件,在用link.exe连接生成16位可执行文件*.exe。在32位机器上是可以写16位程序的,因为x86的计算机体系就是为了兼容低阶程序而存在的,计算机在启动的时候就是以实模式(可以简单理解为16位的)启动的,之后操作系统才使用机器指令转向32位保护模式(因为这样从硬件级支持多任务)。编写16位、32位、以及64位汇编程序只要下载安装相应的汇编包就可以了。
‘肆’ 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是______。
D。长整数常量后面要加L。 没有加L,则默认为int类型,在16位系统下,int是16位的,占2个字节,有效范围是-32768到+32767,A、B、C的选项都会超出这个范围。
‘伍’ 为什么在16位编译器里面int型为2字节
只能说是规定
int作为最常用的数据类型
16位编译器下,CPU一次可以处理的最大长度就是16位,也就是2字节
所以将int规定为2字节可以让int获得最快的运算速度。 达到最大效率。
‘陆’ 在16位操作系统下的C语言编译器中,错误的int类型变量赋值是
正确的int范围是-32768~32767
原因是:题中16位操作系统,int类型数据占16位。2^16=65536。int带符号,故答案是-32768~32767
‘柒’ 为什么16位系统下short int和int所占字节数是一样的2个字节,而在
在32位机上,int通常是32位;在16位机上,int通常是16位(由编译器决定,而编译器通常是根据代码运行的目标机来决定)。 long int在上述两种机器上通常都是32位。
所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):
1 sizeof(short int)<=sizeof(int)
2 sizeof(int)<=sizeof(long int)
3 short int至少应为16位(2字节)
4 long int至少应为32位。
TC里面 int 就是 2个字节,而VC++里面就是4个字节,gcc里面也是4个字节。
还有long long int 在TC里面是 4 个字节,gcc里面是 8 个字节。
‘捌’ 32位系统和16位系统中C语言的int的占多少位
正常情况下,16位int就是16位的,2字节32位环境下int是32位的,4字节,不过还与编译器有关,比如,我们用WinXp32位版下,运行Tc2.0,那么int是16位,但你如果用VC编译,那么int是32位,注意,int是多少位,与编译器有关系,不同的编译器可能就不同
‘玖’ tubor C环境下c语言和vc++环境下的c语言有什么不同
Turbo
C
和
VC++
确实都可以作为C语言的开发环境,它们俩的不同之处主要在于编译器不同。前者是TC编译前,后者是CL编译器。前者是16位编译器,后者是32为编译器。sizeof(int)和sizeof(long)的值,在这两个的编译器下是不同的,TC编译器下sizeof(int)值是2,sizeof(long)值是4;CL编译器下sizeof(int)和sizeof(long)的值都是4。还有就是memcpy和memmove两个函数,TC下两个函数的功能是不同的,而CL编译器下这两个函数的功能都是memmove的功能。
‘拾’ 为什么int类型在16位系统中占2个字节,在32
所谓的16位32位64位系统是由cpu决定的,由机器指令的寻址、寄存器位数决定的
os受cpu的限制,但在32位的cpu下16位的os也可以跑(就向上面提到的所谓纯dos)
很多os是向前兼容的,就是使以前的程序也能运行,如果编译器本身是16位时代做的,那么os会提供一个模拟16位的子环境供这个编译器使用
sizeof只是编译时常量,不能做到二进制兼容(移植)
int只是语言定义里面的一个关键字,只对compiler可见,complier说它是几位就是几位,和os/cpu都没关系