用户登录
用户注册

分享至

word和byte

  • 作者: 请叫我李二哈丶
  • 来源: 51数据库
  • 2020-04-21

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”,计算机存储器的大小通常用字节来表示。

参考资料:百度百科-字节

转载请注明出处51数据库 » word和byte

软件
前端设计
程序设计
Java相关