`

char和unsigned char区别

 
阅读更多

------------------------------------------------------------------------------------------------------------------

 

本质上两个类型都只占一个字节 ,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*和unsigned char* 。 当QString内容包含汉字时,转换char*等会发生失败。此接口解决了该问题。使用后char*与unsigned char*的qDebug()输出与QString输出结果相同。 注意,该函数返回unsigned ...

    基于C语言char与unsigned char的区别介绍

    在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别。 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,...

    c代码-char和unsigned char区别

    c代码-char和unsigned char区别

    如何把char str,或unsigned char str转换成CString

    本文将讨论如何把 char str 或 unsigned char str 转换成 CString,详细介绍 CString 的构造函数和成员函数 Format 的使用。 一、CString 的构造函数 CString 提供了多种构造函数,可以将 char str 或 unsigned ...

    unsigned char二维数组转bmp图像函数

    自己写的unsigned char二维数组转8位bmp的函数。

    单片机-#define XBYTE ((unsigned char volatile xdata *) 0)

    #define XBYTE ((unsigned char volatile xdata *) 0) 定义 XBYTE 为 指向 xdata 地址空间unsigned char 数据类型的指针,指针值为0 这样,可以直接用XBYTE[0xnnnn]或*(XBYTE+0xnnnn)访问外部RAM了。

    unsigned char数组转成string 用16进制表示

    实现将unsigned char数组转成string型,用16进制显示。

    CRC8bit校验

    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

    strEX.rar_memcpy_strcpy

    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...

    C语言合并多个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 ...

    简单实用的CRC16bit

    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

    DES和3DES加密算法,C语言,适用于单片机

    unsigned char DES_Encrypt(unsigned char *plainBuffer, unsigned char *keyBuffer, unsigned char *cipherBuffer);//加密数据 unsigned char DES_Decrypt(unsigned char *cipherBuffer, unsigned char *keyBuffer...

    计时器举一反三.pdsprj

    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=...

    CC1101芯片433M无线传输芯片STM32单片机设计驱动源码.zip

    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...

    Hce300B 动态连接库

    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...

Global site tag (gtag.js) - Google Analytics