1.c语言中的word和byte是什么数据类型啊
在C语言里没有word、byte数据类型。
word一般叫作“字”:系统硬件有关,数据总线为16位,则1word为2byte;32位时,1word为4byte;
byte表示一个字节是8位二进制数,对应C的unsignedchar;存储容量通常用byte表示,因为与系统硬件无关。
扩展资料
C语言写入word文档的使用
#include"stdio.h"
#include"stdlib.h"
voidmain()
{
FILE*pl;
inti,a;
charb;
char*bbb;//指针变量用于储存未知长度的字符串
chararr[300];//参考第二种输出格式,按行输出。
charlujing[30];
printf("请输入创建的文件路径:");//参考格式D:\\"文件夹名"\\(创建文档名).doc
scanf("%s",lujing);
pl=fopen(lujing,"w");
if(pl==NULL){printf("1文件找不到");exit(0);}
while(1){//向文档输入内容
b=getchar();
if(b=='#')break;
fputc(b,pl);
}
fseek(pl,0L,SEEK_END);//检测文档字符长度包括空格换行等
a=ftell(pl)+1;
fclose(pl);
bbb=(char*)malloc(sizeof(char)*a);//分配等长度空间便于输出
pl=fopen(lujing,"r");
if(pl==NULL){printf("1文件找不到");exit(0);}
i=0;
while(!feof(pl))//直到文件全部内容写入,循环停止
{
bbb[i]=fgetc(pl);//这种做法的好处是可以保持输入格式进行输出
i++;
}
bbb[i]='\0';
printf("%s",bbb);
fclose(pl);
//当然也可以选择按行输出。
/*while(!fepf(pl)){
fgets(arr,300,pl);
printf("%s",arr);
}*/
}
2.BYTE PTR和WORD PTR分别是什么意思
BYTE PTR和WORD PTR分别意思如下所示
BYTE PTR 表示[DI]处一个字节,指明了指令访问的内存单元是一个字节单元,也就是8位,也就是最大的数为 0FFH,化成10进制数为256。
指令访问的是内存,是因为加方括号的都是存储器寻址,方括号里的DI是变址寄存器,整个代表以DI里的内容作为偏移地址,然后以(DS)*16+(DI)得到的值作为在存储器里的物理地址。
要是没有BYTE PTR的话,那个物理地址对应的是低字节的内容,然后物理地址加1对应的物理地址对应的才是高字节的内容。有了BYTE PTR后只要取该物理地址对应的一个字节的内容即可。
WORD PTR表示指令访问的内存单元是两个字节单元,这是强制定义为字大小。由于只是给出一个内存地址,不知道希望赋予ax的,是byte还是word,所以需要用word明确指出,ptr是显示申明。
mov ds:[si],10f 这是不允许的操作,因为si指向的空间只有8bit(1byte)大小,所以mov WPRD PTR ds:[SI],10f就是为了告诉CPU mov的源地址是2byte大小的,10f是可以存储进去的。
扩展资料
字节是二进制数据的单位。一个字节通常8位长,但是,一些老型号计算机结构使用不同的长度,为了避免混乱,在大多数国际文献中,使用词代替byte。
在多数的计算机系统中,一个字节是一个8位长的数据单位,大多数的计算机用一个字节表示一个字符、数字或其他字符;一个字节也可以表示一系列二进制位。
在一些计算机系统中,4 个字节代表一个字,这是计算机在执行指令时能够有效处理数据的单位。一些语言描述需要2个字节表示一个字符,这叫做双字节字符集,一些处理器能够处理双字节或单字节指令,字节通常简写为“B”,而位通常简写为小写“b”,计算机存储器的大小通常用字节来表示。
参考资料:百度百科-字节