------------------------------------------------------------------------------------------------------------------
本质上两个类型都只占一个字节 ,8比特。
作为字符使用的时候,都是存储字符的ASCII码。
作为整数使用时,两种类型的取值范围就不同了,unsigned char为0~255, char为-128~+127。
总的来说,系统最终存储的是二进制数 11111111, 只有在显示的时候unsigned char和char才有区别。
------------------------------------------------------------------------------------------------------------------
那为什么很多时候byte被认为是unsigned char呢?
1、从通常的理解byte没有什么正负符号之说
2、更重要的是如果byte赋给 int long时候系统会做一些工作,char型系统会认为做高位是符号位。
最高位若为0时,没有区别,如果为1时,区别可就大了。
这里边相互之间的转换还是没有搞的很明白,惭愧。
------------------------------------------------------------------------------------------------------------------
分享到:
相关推荐
此为QString无损转char*和unsigned char* 。 当QString内容包含汉字时,转换char*等会发生失败。此接口解决了该问题。使用后char*与unsigned char*的qDebug()输出与QString输出结果相同。 注意,该函数返回unsigned ...
在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别。 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,...
c代码-char和unsigned char区别
本文将讨论如何把 char str 或 unsigned char str 转换成 CString,详细介绍 CString 的构造函数和成员函数 Format 的使用。 一、CString 的构造函数 CString 提供了多种构造函数,可以将 char str 或 unsigned ...
自己写的unsigned char二维数组转8位bmp的函数。
#define XBYTE ((unsigned char volatile xdata *) 0) 定义 XBYTE 为 指向 xdata 地址空间unsigned char 数据类型的指针,指针值为0 这样,可以直接用XBYTE[0xnnnn]或*(XBYTE+0xnnnn)访问外部RAM了。
实现将unsigned char数组转成string型,用16进制显示。
externok void Crc1021(unsigned char *buf, unsigned char n, unsigned char *h,unsigned char *l); externok unsigned char crc8bit(unsigned char *address,unsigned char lenNumb); #endif
void memsetEX(unsigned char *dst,unsigned char val,unsigned char len); void memcpyEX(unsigned char *dst,unsigned char *src,unsigned char len); unsigned char memcmpEX(unsigned char *dst,unsigned char...
main.c为测试文件,调用tools.h中的函数: char * MultiCombine(char *a[],int num); 编译方法:gcc -o test main.c tools.c
void Disp_word0(unsigned char posx,unsigned char *p,unsigned char n); void Lcd_system(void); bit hw_yima(); void delay0(unsigned int t); void Disp_control(unsigned char zm); void Disp_number(unsigned ...
externok void Crc1021(unsigned char *buf, unsigned char n, unsigned char *h,unsigned char *l); externok unsigned char crc8bit(unsigned char *address,unsigned char lenNumb); #endif
unsigned char DES_Encrypt(unsigned char *plainBuffer, unsigned char *keyBuffer, unsigned char *cipherBuffer);//加密数据 unsigned char DES_Decrypt(unsigned char *cipherBuffer, unsigned char *keyBuffer...
unsigned char count=0; unsigned char miao=0; sbit P2_7=P2^7; sbit P1_2=P1^2; sbit P1_3=P1^3; void timer_1() interrupt 3 { TH1 = ( 65536-50000 )/256; TL1 = ( 65536-50000 )%256; count++; if(count=...
unsigned char Spi_Read_Packet(unsigned char *Rx_buffer,unsigned char length); void Spi_Write_Packet(unsigned char *Tx_buffer,unsigned char size) ; void Spi_Write_Burst(unsigned char addr,unsigned char...
1、int ReadCard(int portnumber,int tracknumber,int timeout,unsigned char* track1,int* track1len,unsigned char* track2,int* track2len,unsigned char* track3,int* track3len) 2、int WriteCard(int port...