exercise2-1
来源:互联网 发布:流量电话软件 编辑:程序博客网 时间:2024/06/05 00:43
Write a program to determine the ranges of char,short,int,and long variables,both singed and unsinged.by printing appropiate values from standard headers and by direct computation.Harder if you compute them:determine the ranges of the various floating-point types.
#include<stdio.h>
#include<limits.h>
main()
{
printf("singed char min:%d\n", SCHAR_MIN);
printf("singed char max:%d\n", SCHAR_MAX);
printf("singed short min:%d\n",SHRT_MIN);
printf("singed short max:%d\n",SHRT_MAX);
printf("singed int min:%d\n",INT_MIN);
printf("singed int max:%d\n",INT_MAX);
printf("singed long min:%ld\n",LONG_MIN);
printf("singed long max:%ld\n",LONG_MAX);
printf("unsinged char max:%u\n",UCHAR_MAX);
printf("unsinged short max:%u\n",USHRT_MAX);
printf("unsinged int max:%u\n",UINT_MAX);
printf("unsinged long max:%lu\n",ULONG_MAX);
}
"check.c" 19 lines, 571 characters
……………………………………………………………………………………………………………………singed char min:-128
singed char max:127
singed short min:-32768
singed short max:32767
singed int min:-2147483648
singed int max:2147483647
singed long min:-2147483648
singed long max:2147483647
unsinged char max:255
unsinged short max:65535
unsinged int max:4294967295
unsinged long max:4294967295
……………………………………………………………………………………………………………………
#include<stdio.h>
#include<limits.h>
main()
{
printf("singed char min:%d\n",-(char)((unsigned char)~0 >>1));
printf("signed char max:%d\n",(char)((unsigned char)~0>>1));
printf("signed short min:%d\n",-(short)((unsigned short)~0 >>1));
printf("signed short max:%d\n",(short)((unsigned short)~0 >> 1));
printf("signed int min:%d\n",-(int)((unsigned int)~0 >> 1));
printf("signed int max:%d\n",(int)((unsigned int)~0 >> 1));
printf("signed long min:%ld\n",-(long)((unsigned long)~0 >>1));
printf("signed long max:%ld\n",(long)((unsigned long)~0 >> 1));
printf("unsigned char max:%u\n",(unsigned char)~0);
printf("unsigned short max:%u\n",(unsigned short)~0);
printf("unsigned int max:%u\n",(unsigned int)~0);
printf("unsigned long max:%lu\n",(unsigned long)~0);
}
~
~
~
~
"check3.c" 19 lines, 776 characters
singed char min:-127
signed char max:127
signed short min:-32767
signed short max:32767
signed int min:-2147483647
signed int max:2147483647
signed long min:-2147483647
signed long max:2147483647
unsigned char max:255
unsigned short max:65535
unsigned int max:4294967295
unsigned long max:4294967295
先把数字0的各位二进制转换为1;
然后将结果转换为unsigned 类型;
再把这个unsigned XX类型的值右移一位,清楚符号位;
最后再转化为相应的XX类型。
这一系列的结果最终得到signed类型的最大值。
由上述两个程序的结果对比可知:第二个程序中signed类型的负的最小值应该还要-1才是准确的。
- exercise2-1
- Exercise2.1 E4
- exercise2
- exercise2
- Introduction to Algorithms:exercise2.1_4
- Exercise2.1 E4(数据结构与程序设计)
- Exercise2.1 E4(数据结构与程序设计)
- ssd6 exercise2
- linux exercise2
- 分支选择结构Exercise2
- Exercise2:'#'(井号)注释符
- Android Exercise2问题总结
- homework exercise2.2 E2(b)
- SSD7数据库系统实验Exercise2答案
- 【绿皮】新GRE填空补充练习题Exercise2
- 【UFLDL-exercise2-Vectorization&Learn features for handwritten digits】
- 算法导论 Exercise2.3-5(implement binary search iteratively)
- 第2章_基本数据类型和基本操作_编程练习Exercise2.11通过控制台进行大小写的切换
- C#中的object类深入理解
- linux 模拟鼠标事件 qt
- ACMSTEP 2.1.3 相遇周期 //数论 分数的最小公倍数
- CentOS 上安装nginx 0.8.53
- android: check network status 检查网络状态
- exercise2-1
- 关于TreeSet的add(Integer data)的出错
- 【Android】windows系统上安装与使用Android NDK r5
- eclipse failed to create the java virtual machine
- 表单 数字字符验证正则
- Eclipse之ANT使用
- 通过lspci如何找到驱动?
- 8个DBA最常用的监控Oracle数据库的常用shell脚本
- msimg32.dll下载及修复