2018-7-16 2-1 分别由signed 和unsigned 限定的 char,short,int,long类型变量的取值范围
#include<stdio.h>
#include<limits.h>
#define debug1 0 //使用debug1 必须包含limits.h
#define debug2 1
main()
{#if debug1//signed typesprintf("signed char min = %d \n",SCHAR_MIN);printf("signed char max = %d \n",SCHAR_MAX);printf("signed short min = %d \n",SHRT_MIN);printf("signed short max = %d \n",SHRT_MAX);printf("signed int min = %d \n",INT_MIN);printf("signed int max = %d \n",INT_MAX);printf("signed long min = %ld \n",LONG_MIN);printf("signed long max = %ld \n",LONG_MAX);//unsigned typesprintf("unsigned char char max = %u \n",UCHAR_MAX);printf("unsigned char short max = %u \n",USHRT_MAX);printf("unsigned char int max = %u \n",UINT_MAX);printf("unsigned char long max = %lu \n",ULONG_MAX);
#endif#if debug2/* ~0 : 数字0 的各个二进制位全部转换为1(unsigned char)~0 : 将结果转换为unsigned char 类型(unsigned short )~0>>1 : 右移一位 清除符号位(char)((unsigned char )~0>>1)) : 将其转换为char型*///signed typesprintf("signed 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 int )~0>>1));printf("signed long max = %ld \n",(long)((unsigned long )~0>>1));//unsigned typesprintf("unsigned char char max = %u \n",(unsigned char )~0);printf("unsigned char short max = %u \n",(unsigned short )~0);printf("unsigned char int max = %u \n",(unsigned int )~0);printf("unsigned char long max = %lu \n",(unsigned int )~0);
#endif}
2018-7-16 2-1 分别由signed 和unsigned 限定的 char,short,int,long类型变量的取值范围相关推荐
- 请编写一个c程序确定signed,unsigned的char,short,int和long变量取值范围
way1: 通过打印标准的头文件中的相应的值来完成 符号常量 表示 CHAR_BIT char 的位数 CHAR_MAX char 的最大值 CHAR_MIN char 的最小值 SCHAR_MAX ...
- c 语言char取值范围,signed char类型取值范围计算
在C语言程序中,给定一个类型,如何计算这个类型变量的取值范围呢?比如有一个字符型变量定义如下: signed char c: 这个字符变量c的取值范围是[-128,127],是计算出来的呢? 假设字符 ...
- 暑期训练日志----2018.8.16
训练第18天. 过得真快,还有一个多星期暑假就完了,感觉学了不少东西 上午看了看 DP 的资料,下午把之前欠的洛谷的题写了写,明天开始正式搞 DP 了,也不知道假期结束前能不能弄完 这两天有些懈怠了, ...
- 香港中文大学深圳(CUHKSZ)数据科学硕士(MSc in Data Science)笔试面试经验(2018/9/16)
香港中文大学深圳(CUHKSZ)数据科学硕士(MSc in Data Science)笔试面试经验(2018/9/16) 写在前面的前面(2020.5.3) 写在前面(2019.2.19) 关于申请 ...
- 深入理解signed、unsigned 关键字
深入理解signed.unsigned 关键字 答: 1.-0 和+0 在内存里面分别怎么存储: 计算机里表示数字用的都是补码不是原码.想知道补码是啥可以去百度一下.零在计算机里就是0,不存在正负一说 ...
- signed和unsigned区别
signed和unsigned用于修饰整数类型(包括char,从ANSI C89标准开始支持). signed表示有符号,unsigned表示无符号. 有符号数的最大取值要比无符号的小约一半,因为有符 ...
- (C语言)signed和unsigned类型转化
对于long, int, short, char等数据类型,我们可以通过signed和unsigned修饰来确定其能存储的数据范围.其中signed中保存的数据是可正可负,而unsigned的数据范围 ...
- 【数据存储】signed,unsigned到底怎么区分?如何计算?
本文主要讲解 1.整型和5.空类型,剩下的在后续系列会尽早更新,详情见主页 目录 1.空类型 2.整型 1.空类型 void void FUN( void ); void* p; 共三种用法: 1. ...
- signed和unsigned的比较
昨天,zrf师兄丢给我这样一个题,据说是微软面试题: unsigned int i=3; cout<<i * -1; 问结果是多少. 第一反应:-3.不过结果似乎不是这样的,写了个程序,运 ...
最新文章
- http get请求相同的key_B站微服务框架Kratos详细教程(2)HTTP服务
- JavsScript与时间相关的函数
- 三元一次方程组步骤_[七年级网上课堂]8.4 三元一次方程组
- 老弟,Redis 6.0 除了多线程,别忘了这个牛逼特性!
- 中石油训练赛 - Bouldering(最短路+剪枝)
- wifi上行下行速度测试_增大AP天线增益,可以同时改善上下行 —— WIFI基础知识(3)...
- PAT_B_1007_Java(20分)
- Maven精选系列--发布jar包到Nexus私库
- 互联网的长在线、心跳和断线重连
- Maven的安装与配置(详细版)
- 百面深度学习读书笔记-视频处理
- 搭建网站从服务器购买备案到域名注册整个流程
- php网站挂马,转 :php 网站挂马检查
- 游戏制作之路(3)Blender制作极简动画
- 帝国 loginjs.php,帝国CMS的安装方法
- Alien Skin X7PS调色滤镜插件下载及PS调色滤镜教程
- 查看linux当前屏保文件夹,linux下屏保设置
- 条件随机场(2)——概率计算
- 概念结构设计( 实体与属性的划分原则、E-R图的集成)、逻辑结构设计(任务、步骤、转换方法、数据模型的优化、设计用户子模式、物理结构设计)....
- crc8 c语言代码,C的CRC8校验的源代码
热门文章
- 微信小程序之小程序审核
- 信息学奥赛一本通(c++)
- The bean ‘dataTokenMapper‘ could not be injected because it is a JDK dynamic
- 020 怎样才可以把py文件前面的小箭头去掉
- 判断大学生体侧项目中立定跳远成绩的等级
- pytorch 模型中的bn层一键转化为同步bn(syncbn)
- 使用Python对股票数据进行数据分析(一)-计算日线行情、5日均线、10日均线行情并显示
- 从头学前端-35:溢出处理
- 2021 China Open Source Annual Report
- python - 输入某年某月某日,判断这一天是这一年的第几天?