当前位置:首页 » 编程软件 » 编译器位数

编译器位数

发布时间: 2022-01-10 01:12:04

c语言各类型数据的位数是多少

这个跟系统有关的,你可以通过sizeof各个类型来看字节数,从而算出位数。具体可以用以下代码看
#include<stdio.h>
void main()
{
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long int));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
}

一般我们用的32位系统是:
类型 字节数 位数 范围
int 4 32 -2147483648 ~ 2147483647
long 4 32 同上
float 4 32 -2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38
double 6 64 -2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308

⑵ 关于编译

看来你还没入门哦,就想写一个操作系统了
嗯!有志不错,相信有一天你会成功的。

一般地说写一个OS你要会一门高级语言(如C++)一门低级语言(如汇编asm)高级语言用来做界面这方面比较容易一点。而低级用来做低层驱动这方面是高级语言所不能相比的。
当然C语言介于两者之间,也能对硬件编程,但C是16位的程序对于图形处理不是很好,我个人建议你低级语言用汇编,对硬件编程时没有那么抽象,想传送的数据很清楚知道来去的方面,但要对硬件这方面的知道要了解。还有就是像要懂操作系统原理还要知道怎么去实践这些原理这些才是重要的,选择语言不是难事,给你一个组合吧(C和asm)虽然不能做出XP这种效果来,但这个图形操作系统还是很的,就看你自己的功夫了。
对于你补充的问题呐,程序的位数好像指CPU的寄存器的位数吧,在386以前的CPU好像一条指令大是16位的(当然有的指令没这么大,有8位的)在386后的新加的指令中才有32位的,为了使386以后的CPU能使用以前的指令,规定在16位指令加上不同的指令前缀,形成32位指令形式,这里的32指令就是32位程序的指令,而你说的64位程序。。在我所学的指令里没有64位的指令,但以以前的指令在在64位上运行,也要兼容的问题吧!之所以有64位的CPU所来是指CPU一次处理数据的位数,比如说32的CPU一次能处理32位的数据,而要处理64位的就要分两次从内存中取数据而占用总线,这样会使CPU有空闲,而64位的CPU只要一次就行了,所以你理解错了,
最后一个问题是人家生在那个年代,和人家有远见,成绩不好并不代表实践不好,理论和实践是两回事,理论在好不会实践也是废话,所以人家敢做,在实践中学习,在加上机遇。这个事不是你我能说清的,只能说说个人见解罢了。。

对于计算机硬件的知道只能告诉你这么之了,,大家相互学习,共同进步吧!!
如果你想找资料的话!你把你的邮箱留下,我这有硬件,操作系统,指令这些用于写操作的资料!!

⑶ sizeof(long)是4还是8的不同是由不同编译器决定的,还是操作系统的位数,还是电脑的位数,还是C的标准

这个是由编译器决定的,有的是32位编译器,有的是64位编译器,有的是标准C编译器,有的是C++编译器,都有可能不同。

⑷ dev C++是多少位的编译器,,,,

对 windows下的各种编译器都是32位精读的。int最大值是21几几几那个十位数。如果要32767 就换成short int就好

⑸ 怎样用c语言编译器列出8位数的组合

#include<stdio.h>

voidpm(unsignedintbeg,constunsignedintn)//调用时,beg恒0,n为数字的位数。
{
inti;
staticcharstr[10]={0};
if(beg!=n)
for(i=0;i<10;i++){
str[beg]='0'+i;
pm(beg+1,n);
str[beg]=0;
}
elseputs(str);
}

intmain(intargc,char*argv[])
{
pm(0,5);//示例
pm(0,8);
return0;
}

⑹ C语言数据类型所占字节是和运行的机器位数有关还是编译器有关

1)C语言一般指的是ANSI C的标准,对应的处理器分别是32位和64位的。
2)类型分为内置类型和自定义类型(非内置类型)
内置类型指的是无需声明就可使用的类型,比如char,double,int等。
自定义类型指的是使用前必须声明的,如struct StructName{};结构类型,int a[5];数组类型以及enum Color{};枚举类型等。未经声明的类型不可使用
3)ANSI C只对内置类型的大小进行了规范:
char |double| folat |int |long int| pointer
64bits 1 8 4 4 8 8
32bits 1 8 4 4 4 4
从上表可以看出,对于前三者,大小是统一的,只有long int 和pointer(指针)在不同的机器上占用了不同的大小。他们的规则是,long int和pointer的大小等于机器位长(8位一个字节).最后说明一点,unsigned的关键字和类型组合和该类型的大小相同,因为有符号和无符号只对编译器有效,机器对他一无所知。

⑺ C++ 编译器自动保留6位有效数字,怎么输出所有的位数

看你要求的
是多少,选择合适的类型保存数据,float精度就是6位小数,想取得更高的精度使用double存储,不要用float
double
v
=
1.1
*
1.1
*
1.1
*
1.1;

⑻ 怎样查看自己电脑的编译器是多少位的

编译器有好多种,每个语言都有,一般都有-v或者--version命令可以看版本信息,包括生成的代码对应的机型(target),例如:Target: x86_64-w64-windows-gnu 就是生成64位的x86-64机器码,编译时可以靠-m32等命令控制.


至于编译器本身,那跟你下载时的版本有关,如果你确实需要了解类似GCC本身是多少位的,可以这样:

linux下:

filexxx#xxx代表程序名

例如:

[cosmia@excalibur~]$filesqlite3.i686sqlite3.x86_64
sqlite3.i686:ELF32-bitLSBexecutable,Intel80386,version1(SYSV),dynamicallylinked(usessharedlibs),forGNU/Linux2.6.32,BuildID[sha1]=,stripped
sqlite3.x86_64:ELF64-bitLSBexecutable,x86-64,version1(SYSV),dynamicallylinked(usessharedlibs),forGNU/Linux2.6.32,BuildID[sha1]=,stripped


windows下:

用7zip打开那个.exe文件,看cpu信息


详细参考方法:

http://www.hu.com/question/23027723

⑼ C语言 判断一个输入得数子是几位数

判断一个输入得数子是几位数的源代码如下:

#include<stdio.h>void main()

{

void count();

printf("请输入一串字符,数字、字母皆可: ");

count();

}

void count()

{

char c[32];

int n=0;

while((c[n]=getchar())!=' ')

{

n++;

}

printf("输入字符总数为:%d ",n);

printf("反序输出结果为:");

for(n;n>=0;n--)

{

printf("%c",c[n]);

}

printf(" ");

}

(9)编译器位数扩展阅读

1、关键字不能用作用户定义的名称(标识符)。

2、对于每个开放的brase({),必须有相应的闭合brase(})。

3、必须声明每个变量bofore使用它。

4、每个C程序都必须编写此语句。该语句(main)指定C程序执行的起始点。main是一个用户定义的方法,它告诉编译器这是程序执行的起点。int是在完成主方法执行后将返回操作系统的值的数据类型。如不想返回任何值,可以将其用作void。

⑽ 如何查看电脑上安装的visual studio 2010的编译器的配置是32位还是64位的

指针大小为4就是32位的,为8就是64位的。

工程属性里面可以选择:

热点内容
java配置mysql 发布:2024-09-20 21:32:44 浏览:757
phpapache伪静态 发布:2024-09-20 20:54:45 浏览:588
新浪云缓存 发布:2024-09-20 20:53:45 浏览:286
怎么上传学历 发布:2024-09-20 20:53:42 浏览:848
华为至尊平板电脑是什么配置 发布:2024-09-20 20:47:47 浏览:293
shell脚本字符串查找 发布:2024-09-20 20:47:44 浏览:274
如何在服务器上搭建linux系统 发布:2024-09-20 20:43:32 浏览:386
上传汽车保单 发布:2024-09-20 20:30:46 浏览:436
樱花服务器测试ip 发布:2024-09-20 20:10:39 浏览:280
炉石传说安卓怎么玩 发布:2024-09-20 20:09:59 浏览:313