// ConsoleApplicationTestCharOrUnsignedChar.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
void testBits(unsigned char v){
//char 和 unsigned char 都是一个字节,唯一的区别的char有符号位-128~127 unsigned char是0~255
char c = v;
unsigned char uc = v;
unsigned int a = c, b = uc;
int i = c, j = uc;
printf("----------------\n");
printf("%%c: %c, %c\n", c, uc); //打印正常的十进制128和127对应的字符
printf("%%X: %X, %X\n", c, uc); //128: 十六进制FFFFFF80, 80 127:十六进制7F, 7F
//-- 128二进制最高位前面是1,对最高位前面进行扩展128前面补1
//-- 127二进制最高位前面是0,对最高位前面进行扩展127前面补0
printf("%%u: %u, %u\n", a, b); //%u是unsigned,无符号,就是没有正负之分,只有正数,负数也当作正数处理。
//128: 4294967168, 128 127:127,127
printf("%%d: %d, %d\n", i, j); //128:十进制-128,128 127:十进制127,127
getchar();
}
int _tmain(int argc, _TCHAR* argv[])
{
printf("%d\n", 0x80); //128
printf("%d\n", 0x7F); //127
getchar();
testBits(0x80);
testBits(0x7F);
return 0;
}
//short 短整型,2个字节,-32768~+32767 0111 1111 1111 1111
//unsigned short 无符号短整型,2个字节, 0~65535 1111 1111 1111 1111
C++类型符号位
最新推荐文章于 2023-02-13 12:40:15 发布