c/c++ 基本数据类型最大值,最小值是多少?负数是怎样表示的。
来源:互联网 发布:源码编译内核配置 编辑:程序博客网 时间:2024/04/30 00:57
#include "stdafx.h"int main(int argc, char *argv[]){//unsigned types min (为数值0)unsigned char u_char_min = 0;unsigned short u_short_min = 0;unsigned int u_int_min = 0;unsigned long u_long_min = 0;//unsigned types max (最小值取反为最大值)unsigned char u_char_max = ~u_char_min;unsigned short u_short_max= ~u_short_min;unsigned int u_int_max = ~u_int_min;unsigned long u_long_max = ~u_long_min;//signed types max (无符号最大值除以2为有符号数最大值)charchar_max = (char)(u_char_max >> 1);shortshort_max = (short)(u_short_max >> 1);intint_max = (int)(u_int_max >> 1); longlong_max = (long)(u_long_max >> 1);//signed types min (符合数最大值再加1, 为符号数最小值)charchar_min = char_max + 1;shortshort_min = short_max + 1;intint_min = int_max + 1; longlong_min = long_max +1; //输出结果://unsigned types minprintf("unsigned char min = %u 0x%x\n", u_char_min,u_char_min);printf("unsigned short min = %u 0x%x\n", u_short_min,u_short_min); printf("unsigned int min = %u 0x%x\n", u_int_min,u_int_min);printf("unsigned long min = %lu 0x%x\n", u_long_min ,u_long_min);//unsigned types maxprintf("unsigned char max = %u 0x%x\n", u_char_max,u_char_max);printf("unsigned short max = %u 0x%x\n", u_short_max,u_short_max); printf("unsigned int max = %u 0x%x\n", u_int_max,u_int_max);printf("unsigned long max = %lu 0x%x\n", u_long_max ,u_long_max);//signed types maxprintf("signed char max = %d 0x%x\n", char_max,char_max); printf("signed short max = %d 0x%x\n", short_max ,short_max);printf("signed int max = %d 0x%x\n", int_max ,int_max);printf("signed long max = %ld 0x%x\n", long_max,long_max);//signed types minprintf("signed char min = %d 0x%x\n", char_min,char_min);printf("signed short min = %d 0x%x\n", short_min,short_min);printf("signed int min = %d 0x%x\n", int_min ,int_min);printf("signed long min = %ld 0x%x\n", long_min ,long_min);_getch();return 0;}
输出结果:
unsigned char min = 0 0x0
unsigned short min = 0 0x0
unsigned int min = 0 0x0
unsigned long min = 0 0x0
unsigned char max = 255 0xff
unsigned short max = 65535 0xffff
unsigned int max = 4294967295 0xffffffff
unsigned long max = 4294967295 0xffffffff
signed char max = 127 0x7f
signed short max = 32767 0x7fff
signed int max = 2147483647 0x7fffffff
signed long max = 2147483647 0x7fffffff
signed char min = -128 0xffffff80
signed short min = -32768 0xffff8000
signed int min = -2147483648 0x80000000
signed long min = -2147483648 0x80000000
小结:
1.c 语言是强类型语言,先声明变量类型,再赋值。不同的类型,将决定用多大内存存储数据。
2.由此看出各种类型数的表示方法及最大值,最小值是多少。
#include "stdafx.h"int main(int argc, char *argv[]){printf("%d, %x\n",1,1);printf("%d, %x\n",2,2);printf("%d, %x\n",-1,-1);printf("%d, %x\n",-2,-2);_getch();return 0;}
输出结果:
1, 1
2, 2
-1, ffffffff
-2, fffffffe
由此可见,负数是按补码方式表示的。
负数的补码是其正数按位取反再加1.
用补码表示的好处是。 一个正数加上其对应的负数,结果为0.
- c/c++ 基本数据类型最大值,最小值是多少?负数是怎样表示的。
- C/C++语言中的int等基本数据类型所能表示的最大值最小值
- c语言中各种数据类型的最大值最小值
- Java基本数据类型的最大值和最小值
- C语言中负数怎么表示的?
- C支持的Int最大值与最小值
- KING_C#学习之各种基本数据类型的最大值最小值
- C/C++中各种数据类型 如 int ,char long,double 的范围(最大值和最小值)
- C/C++ int、long、double、char等各种内置数据类型的表示范围(最大最小值)
- C、C++最大值、最小值初始化
- C语言输出最大值最小值
- 【转】各种数据类型的取值范围 C/C++标准库中定义的各个类型最大值最小值limit.h
- 怎样知道基本数据类型的最大值 以及取值范围
- C++中不同数据类型最大值最小值表示方法
- C的基本数据类型
- C的基本数据类型
- C++:基本的数据类型
- 是i++在两个线程里边分别执行100次,能得到的最大值和最小值分别是多少?
- ANDROID中LISTVIEW仿QQ群组向上滚动特效
- pageX,clientX,screenX,offsetX区别
- int myfun( int xin)//求一个整形中1 的位数。
- PhoneGap API介绍:Events
- IOS程序内发短信
- c/c++ 基本数据类型最大值,最小值是多少?负数是怎样表示的。
- java.util.Date 24小时格式
- LinkedHashMap源码分析
- Android用户界面之notifaction(状态栏通知)
- ios NSUserDefaults 删除某项
- 非模态对话框相对于模态对话框,他的创建和销毁过程和模态对话框有一定的区别
- AD7879-I2C touchscreen 中事件的处理过程
- 找出1到10w中没有出现的两个数字
- Android系统Recovery工作原理2---update.zip差分包问题的解决