一. 字符型的分类和表示范围

char:是有符号还是无符号数视编译器而定,一般为有符号数,下文把它全部当成有符号数进行讨论

表示范围:32位和64位机器上均是一个字节,所以是八个bit位,最高位为符号位之后,后七位是数据位,所以它的取值范围是-128---127(-2^7---2^7-1)

signed char :有符号数,和上面一样

unsigned char:无符号字符型

表示范围:一个字节,八个bit位全部是数据位,所以取值范围是0---255(0---2^8-1)

二. 计算机对字符型数据的存储和读取

字符型在计算机中是按照整型的规则进行存储的,如果是有符号类型,则最高位为符号位,0表示正,1表示负,其余七位为数据位。如果是无符号数,则八个位均为数据位。

这里我们讨论有符号位中,0和-128的存储规则。如果按照有符号数的存储规则,我们知道0000 0000表示0,那么1000 0000表示负0,这显然与我们的现实生活不符,而且也造成表示范围的减小。那么1000 0000表示的是什么数字呢。这里规定,当计算机用一各有符号数去读取1000 0000时,会自动的在1的前面补1,这样原来的8个bit位就变成了9个,其中补充的1作为符号位,又因为计算机是以补码的形式进行存储,这样1 1000 0000(补码)减1,变成了1 0111 1111(反码),再符号位不变,其余位按位取反得到1 1000 0000(原码),即得到了-128。

C语言中字符型在计算机中的存储相关推荐

  1. C语言中整型在计算机中的存储

    一 . 整型的表示 1.字面值后面加上L(l)表示long长整型 2.字面值后面加上U(u)表示usigned整型值 3.十进制123  ... 4.八进制,以0开头,如0123,0754  ... ...

  2. c语言中字符型常量在内存中存放的是,【2017年整理】c语言中字符型常量与变量使用注意事项.doc...

    [2017年整理]c语言中字符型常量与变量使用注意事项 字符型常量与变量 (1):字符常量:一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量.例如'A' 'b ...

  3. C语言中字符型(char)的简单使用

    C语言中字符型(char)的简单使用 刚接触C语言不久,在这记录下自己的一些学习心得.今天主要是在敲代码时遇到了一个小问题,如图: 应该是个比较简单的编程题.在我的想法中,应该使用循环逐个读入由A至Z ...

  4. c语言中像y的字符是什么意思,C语言中字符型(char)的简单使用

    C语言中字符型(char)的简单使用 刚接触C语言不久,在这记录下自己的一些学习心得.今天主要是在敲代码时遇到了一个小问题,如图: 应该是个比较简单的编程题.在我的想法中,应该使用循环逐个读入由A至Z ...

  5. 数据在计算机中编码方式教案,字符数据在计算机中的表示方法

    计算机中数据的概念是广义的,计算机除了处理各种数之外,还要处理大量符号,如英文字母.汉字等非数值的信息.例如,当要用计算机编写文章时,就需要将文章中的各种符号.英文字母.汉字等输入计算机,然后由计算机 ...

  6. 【小白学习C++ 教程】九、C++中字符型、字符串和转义字符

    @Author:Runsen 文章目录 字符串 字符 转义字符 字符串 要在 C++ 中使用字符串,我们首先需要#include <string> 标头,来引入 std::string 的 ...

  7. C++中字符型变量与整型的算术运算

    C++中字符型变量与整型的算术运算 字符型变量与整型的算术运算 C++中算术运算中的精度 下面的代码展示了上面表达式中类型的转换 数据类型的自动转换 字符型变量与整型的算术运算 最近在学习C++,经常 ...

  8. R语言将字符型(Character)变量转化为数值型(Numeric)

    R语言将字符型(Character)变量转化为数值型(Numeric) 目录 R语言将字符型(Character)变量转化为数值型(Numeric) #基本语法

  9. c语言中字符型变量的类型标识符是,C语言中类型标识符有哪些

    满意答案 564vlaci 2015.10.29 采纳率:48%    等级:12 已帮助:6409人 C语言中的标识符 1) 标识符由字母.数字.下划线"_"组成,并且首字母不能 ...

最新文章

  1. Carrier frequency 和 EARFCN的关系
  2. 4个实验,彻底搞懂TCP连接的断开
  3. php使用webservivce_基于SSM框架实现简单的登录注册的示例代码
  4. 【Win7 Oracle 10G rman迁移恢复到Linux 32bit oracle 10G实战】
  5. 没有统计学基础可以学python-机器学习和Python怎样快速掌握?你一定需要这27张清单...
  6. 从C语言的角度重构数据结构系列(四)-静态链表动态链表
  7. 信息系统项目管理师历年论文题目
  8. 如何实现标准TCODE的屏幕增强
  9. 欢乐纪中某A组赛【2019.7.11】
  10. oracle 11g release2版本jdbc,Oracle发布JDeveloper11gRelease2更新版
  11. Pyqt5+python+ErIC6+QT designer
  12. socket.io框架学习
  13. TensorFlow.js 来了!浏览器上线机器学习功能
  14. 软件著作权申请流程及模板
  15. 实时音频编解码之七 预加重
  16. 使用win10自带的计算器,计算对数log
  17. IDEA启动报错:Error launching IDEA if you already have a 64-bit JDK installed,define a JAVA_HOME
  18. php微信公众号发送邮件,GitHub - DongDavid/notify: 消息发送组件-邮件、微信公众号、企业微信、小程序...
  19. OPENGL纹理贴图作业分享
  20. Mybatis之Mapper代理开发方式

热门文章

  1. Python Tutorial(十):浏览标准库(一)
  2. 从瀑布模型、极限编程到敏捷开发
  3. 简单是可靠的先决条件
  4. 大型企业门户网站设计开发一般性原则和建议
  5. FPGA设计细节和实现(初学者)
  6. c++判断奇偶_常用的数据差错控制技术(2) 奇偶校验
  7. python 非线性回归_机器学习入门之菜鸟之路——机器学习之非线性回归个人理解及python实现...
  8. layui 表格内容写temple函数_layui表格-template模板的三种用法
  9. 软件架构师证书有用吗_健康管理师证书在求职时有用吗?
  10. 同底数幂比较大小方法_初中数学解题技法19.幂的运算